Hallo...
Ich möchte gern einen Record speichern und wieder lesen. Beim lesen der Datei kommt es aber zu der Meldeung:
---------------------------
Benachrichtigung über Debugger-
Exception
---------------------------
Im Projekt Project1.exe ist eine
Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 00453E35 in Modul 'Project1.exe'. Lesen von Adresse 00000005'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------
Ich bin leider zu doof den Fehler zufinden. Ich hoffe einer von Euch kann mir helfen. Hier mal mein Code
Delphi-Quellcode:
type
pFileInfo = ^TFileInfo;
TFileInfo = Packed Record
Name: String;
Adresse: String;
Count: Cardinal; // ist grad nicht so wichtih -> wird später benötigt
end;
var
Form1: TForm1;
FileInfo: pFileInfo;
F: File of pFileInfo;
implementation
{$R *.dfm}
procedure SchreibeDatei(Filename, Name, Adresse: String; Count: Cardinal);
var
I: Integer;
begin
New(FileInfo);
FileInfo.Name := Name;
FileInfo.Adresse := Adresse;
FileInfo.Count := Count;
AssignFile (F, Filename);
ReWrite(F);
for I := 1 to 3 do
write(F, pFileInfo(I));
CloseFile(F);
Dispose(FileInfo);
end;
function HoleAdresse(Filename, Name: String): String;
begin
New(FileInfo);
AssignFile(F, Filename);
Reset(F);
Read(F, FileInfo);
CloseFile(F);
Result := FileInfo.Adresse;
Dispose(FileInfo);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SchreibeDatei('.\Adr.dat', 'Ulli', 'Zuhause', 0); // Einen Eintrag speichern
showmessage(HoleAdresse('Adr.dat', 'Ulli')); // ausgabe soll sein 'Zuhause'
end;
Danke schonmal im Vorraus.