Einzelnen Beitrag anzeigen

Ironmaster

Registriert seit: 19. Mai 2006
70 Beiträge
 
Delphi 7 Personal
 
#1

Record: Read/Write FILE OF TYPE

  Alt 16. Feb 2009, 19:15
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...
  Mit Zitat antworten Zitat