Versuche es bitte einmal mit der aktuellsten TDbf Version. Da hat sich ja doch offenbar einiges getan, wenn auch auf den ersten Blick vor allem die Struktur der Verzeichnisse etc.
Ein Unterschied ist, dass du die Memo-Datei (.dbt) nicht mitgeliefert hattest. Dadurch haben wir die einfach ausgeklammert bzw. ich habe sie leer neu erstellt, aber es wäre möglich, dass das Problem genau dort liegt.
Ich werde es einmal in einem virtuellen PC mit Delphi 7 ausprobieren, das habe ich hier nicht mehr drauf und deshalb hatte ich Delphi 10 benutzt.
Hmm...
Hatte ich das nicht geschrieben (BugFix) ?
Ich hatte mir die V 6.9.1 und auch die neuste 7er Version herunter geladen, in beiden ist es zur AccessViolation gekommen, weil keine Memo-Datei dabei ist.
Deshalb einfach mal kurz im Source geachaut und den Bug gefixt:
in dbf_memo.pas in procedure TMemoFile.Open;
Delphi-Quellcode:
// read header
HeaderSize := 512;
// determine version
if (FDbfVersion = xBaseIII) and Assigned(Header) then
PDbtHdr(Header)^.bVer := 3;
VirtualLocks := false;
Da die Datei fehlt, wird hier versucht etwas zu öffnen, was nicht da ist (keine Fehlermeldung 'Fehlende Datei').
Jedoch ohne Datei auch keinen Header und somit kommt es zu der AccessViolation beim Zugriff auf den 'Header'.
Nach dem Fix lässt sich deine Datenbank-Datei wie beschrieben öffnen.
Ach ja, bei der 7er Version musste ich noch einige Zeilen in dbf_common.inc auskommentieren, da hier mein D6 meckerte.
Mit der 6.9.1 brauchte ich das nicht machen.