Einzelnen Beitrag anzeigen

if-else

Registriert seit: 19. Dez 2007
8 Beiträge
 
#1

Zugriffsverletzung in Funktion

  Alt 1. Mai 2008, 16:05
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
  Mit Zitat antworten Zitat