Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.195 Beiträge
 
Delphi 12 Athens
 
#6

Re: Datei kürzen (truncate) für files > 4.294 GB

  Alt 17. Nov 2005, 17:24
OK, der Fehler ist mir zwar noch unbekannt, aber ich werd' mir das nochmal genauer ansehen, allerdings denke ich im Moment noch nicht, daß es an meinen Funktionen liegt.

Kannst du eventuell mal etwas Code aus deinem Programm zur verfügung stellen (notfalls auch per PN), damit ich mir dieses auch nochmal direkt an deinem Beispiel ansehen zu können?

TFlushFunc(TFileRec(F).FlushFunc)(F);
Schau mal bitte nach, auf was der Pointer TFileRec(F).FlushFunc zeigt.
Dieses "Zugriffsverletzung an Adresse 00000000" verleitet mich irgendwie zu der Annahme, daß dieser eventuell auf NIL steht.
War schon drauf und drann eine Prüfung einzubauen, aber dann fiehl mir wieder ein, daß dieses eigentlich niemals auf nil stehen sollte, selbst wenn keine Flush-Funktion vorhanden ist, sollte zumindestens eine Dummy-Funktion darin zu finden sein.

PS: Hast du auch die Unit aus Beitrag #2 verwendet?
Die in #1 hatte leider noch ein/zwei kleine Fehlerchen drin.



Zitat:
recNum := recNum * TFileRec(F).RecSize;
Dieses resultiert daraus, daß bei typisierten Dateien die Position nicht in Byte, sondern Records angebeben wird.
Also bei einer Recordgröße von z.B. 16 Byte wird z.B. nicht Position = 160 (Byte), sonder Position = 10 an-/ausgegeben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat