Hi,
ich möchte Datem aus einem Array speichern. Das Array hat als Datentyp einen Selbstdeklarierten.
Nun habe ich speicher ich wie folgt:
Delphi-Quellcode:
procedure Speichern();
var name:String;
datei:textfile;
x: integer
begin
if Form1.SaveDialog1.Execute then
begin
name:=Form1.SaveDialog1.FileName;
try
AssignFile(datei,name);
rewrite(datei);
for x:=0 to 200 do //alle Array-elemente
begin
writeln(datei,Array[x].Name+'$'+Array[x].Vorname+'$'+
Array[x].Geb+'$'+Array[x].Strasse+'$'); //sämtliche Variablen spichern
end;
closefile(datei);
messagedlg('Erfolgreich gespeichert !',mtinformation,[mbok],0);
except
messagedlg('Fehler beim speichern!',mtinformation,[mbok],0);
exit;
end;
end;
end;
Das $-Zeichen benutze ich später als Trennung der einzelnen Variablen, damit ich die Datei wieder auslesen kann. Nun stürzt das Programm allerdings beim speichern ab, mit der Fehlermeldung, dass eine Execption der Klasse "EAccessViolation" aufgetreten sei, dann noch Zugriffsverletzungen bei Speicheradressen. Wenn ich nur ein Element speicher, bringt er keine Fehlermeldung. Ich habe es auch mit 2 und 3 Elementen + $-Zeichen probiert, ging bei manchen auch, aber es geht nicht mit allen, das ist sehr sonderbar. Weiß jemand was ich falsch mache?