Hallo,
zuerst einmal, ich habe mir folgenden Datentyp erstellt:
Delphi-Quellcode:
type List = ^Elem;
Elem = record
Name: String;
Date: TDate;
Time: TTime;
next: List;
end;
Data = File Of List;
...eine einfach verkettete Liste mit einem Zeiger.
Dafür habe ich mir dann ein paar Funktionen und Prozeduren gebastelt.
Probleme macht aber das Laden und Speichern dieses Datentyps.
Folgende Prozedur bzw. Funktion benutz ich dafür:
Delphi-Quellcode:
procedure ListToFile(FileName: String; l: List);
var f: Data;
begin
AssignFile(f, FileName);
Rewrite(f);
Write(f, l);
CloseFile(f)
end;
function ListFromFile(FileName: String): List;
var f: Data; l: List;
begin
AssignFile(f, FileName);
Reset(f);
if not Eof(f) then Read(f, l);
CloseFile(f);
ListFromFile := l
end;
Das Speichern und Laden funktioniert zur Laufzeit des Programmes einwandfrei.
Wenn ich das Programm jedoch neustarte und die gespeicherte Datei lade und Name, Date und Time auslese, bekomm ich einen Fehler "
Access Violation". FileSize gibt mir jedoch 1 zurück. Also befindet sich noch ein Element in der Datei.
Habe ich die Datei falsch gespeichert oder liegt es an der verketteten Liste???
Ich komm da leider nicht alleine weiter...