Avatar billede pz Nybegynder
25. september 2015 - 22:21 Der er 8 kommentarer og
1 løsning

Delphi program fejler

Hej,

Jeg har lavet et program som henter og gemmer et antal Records fra filer.
Der bruges Index filer til hovedfilen, så ret meget skrive læse.
En gang i mellem (sjælden) gemmes en record forkert på filen, altså opdaterede data skrives oveni en forkert record.

Jeg har brugt Delphi XE5 og XE7, der køres på lokal PC og på server med ca. 10 bugere (PC-ere), Win 7 og 8.1
Fejl kun observeret på server, på PC kan jeg ikke få programmet til at fejle.

Kan jeg slå noget til i Delphi så alle fejl vil blive synlige, altså få programmet til at gå ned, der må være et eller andet galt, eks. overløb på array eller ???
Kan seek kommando fejle ???
Eller ???

/Peter Z
Avatar billede martinlind Nybegynder
25. september 2015 - 22:42 #1
Skift til an Database løsning, og drop filer og Record's

hvis din delphi IKKE har database componenter så brug :

Evt. www.FirebirdSQL.org og http://www.sourceforge.net/projects/zeoslib

eller brug firebirdsql server ( gratis ) og FireDAC DB-Componenter
Avatar billede arne_v Ekspert
26. september 2015 - 01:57 #2
Uden at se koden og bruge tid paa at studere den, saa er det jo ikke til at sige hvor fejlen er.
26. september 2015 - 16:15 #3
HEJ,

Som martinlind (#1) og Arne_V (#2) skriver: God(e) ide(er).

Skulle det imidlertid ikke fungere efter den ønskede hensigt vil jeg foreslå at du indsætter en (bedre flere) dummy-sætninger a'la
  ShowMessage('TESTPUNKT 1 ');
  Delphi-code linie 1;
  ShowMessage('TESTPUNKT 2 ');
  Delphi-code linie 2;

  .....


  ShowMessage('TESTPUNKT n ');
  Delphi Code linie n
  ShowMessage('TESTPUNKT n+1 ', var1);


Det er HELHEST langsommeligt, men du har check på hvor det går galt. Cu kan evt. showMessage( .. udskrive din(e) mistænkte variable(r).



KRistian
Avatar billede arne_v Ekspert
27. september 2015 - 04:12 #4
Hvis det er en stoerre applikation vil et logging framework og log til fil vaere hurtigere end ShowMessage.
28. september 2015 - 15:34 #5
HEJ,

arne_v (¤4) indlæg:

Jeg kan ikke være mere enig.

logging framework og log til fil være MEGET hurtigere til store App's og mange LOG-linier, men har du mistanke om hvor fejlen er (kan være) (1-2 linier +/-)- brug SHowMessage(----);

Kr
Avatar billede pz Nybegynder
28. september 2015 - 15:49 #6
Hej,

Programmet er på ca. 5000 linier, dog kun ca. 500 linier relevante for fejlene så det er ikke bare lige.
Jeg har fundet det jeg formoder er fejlen og er i gang med at omskrive noget af koden, vender tilbage når det er testet.
Jeg har hældt en masse data ud i en meno, det virker fint og vil blive brugt fremover hvis der sker tilsvarende lort, håber det bliver ok nu.

/Peter
Avatar billede hrc Mester
08. oktober 2015 - 15:49 #7
5000 linjer er et lille program. Umiddelbart, men du giver rigtignok ikke mange informationer fra dig, lyder det som om den bedste løsning var at starte forfra, på den rigtige måde.
Avatar billede pz Nybegynder
25. oktober 2015 - 05:52 #8
Hej,

Jeg har fundet fejlen og programmet har kørt fejlfrit 2-3 uger nu så problemet er løst. Fejl i record numre som er blevet forbyttet.
Hvis I lægger et svar deler jeg point ud,

/Peter Z
Avatar billede pz Nybegynder
23. december 2015 - 10:34 #9
Hej,

Jeg lukker.

/Peter Z
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester