Hallo!
In der folgenden Funktion tritt eine Zugriffsverletzung auf...
Ich versuchte schon den Fehler allein zu finden, habe das aber nicht geschaft. Ich hoffe jemand von euch kann mir helfen? Vielen Dank!
Delphi-Quellcode:
procedure TForm2.addhistory;
var
fh : file of PData;
datap : PData;
y, posi,seekk : integer;
gefunden : boolean;
fname, filep : string;
begin
filep := OpenDialog1.FileName;
//Name der ausgewählten Datei auslesen
pos('.txt',filep);
y := 0;
repeat
inc(y);
posi := pos('.txt',filep)-y;
until filep[posi] = '\';
fname := copy(filep,length(filep)-y-2,y-1);
gefunden := false;
seekk := 0;
AssignFile(fh,'C:\WINDOWS\Voka_history.dat');
{$I-}
reset(fh);
repeat
seek(fh,seekk);
read(fh,datap);
if (POS(fname,Datap.name) <> 0) then begin
gefunden := true;
end;
inc(seekk);
until eof(fh) or gefunden;
if not gefunden then begin
seek(fh,FileSize(fh)-1);
with datap do begin
pfad := filep;
name := fname;
end;
write(fh,datap);
closefile(fh);
end;
end;
Einen schönen Tag noch,
mfg