Einzelnen Beitrag anzeigen

Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#7

Re: alle Exceptions mit try...except abfangen

  Alt 9. Mai 2005, 23:51
Also ich hab es nur kurz überflogen und schon 2 gravierende Fehler festgestellt:

1. while f.Position <= f.Size do ... müsste eigentlich heissen solange die f.position < f.size ist. Erklärung: Nehmen wir an eine Datei ist 2 Byte gross. Wenn wir nun von Position = 0 ein Byte einlesen erhalten wir das erste Byte, danach ist Position = 1. Wenn wir noch ein Byte einlesen ist danach die Position = 2 = Size.

2. Guck dir mal die Funktion Stream.ReadBuffer an. Ich sage extra funktion und nicht procedure

Ich würde für solche Aktionen eher zu low-level funktionen (createFile) greifen, oder du guckst dir TFileStream mal genau an, wer weiss ob dieser sich richtig bei Fehlern verhält.

Achja, nochwas zum basteln, bei einem CRC-Fehler muss ja nicht der ganze Buffer-Inhalt schrott sein.

Deine eigentliche Frage kann ich dir allerdings nicht beantworten ^^.

*****EDIT******

PS: Ich lese da etwas von Thread.... greif nicht von einem Thread auf die VCL-Komponenten des Hauptthreads zu. Tu dir selbst einen Gefallen und lass das, evtl. ist das auch schon der Fehler. Access violation habe ich schon oft in diesem Zusammenhang gehört

*****EDIT2*****

Um das nochmal verständlicher zu machen: Ich denke dein Hauptthread stürzt ab, dem du mit dem Thread dazwischenfunkst. Somit tritt die Zugriffsverletzung nicht mehr innerhalb deines try ... except auf und dein Proggi verabschiedet sich.
Wer später bremst ist eher tot.
  Mit Zitat antworten Zitat