I/O Error 32...

0

Witaj ,
istota problemu:
piszę program,który powinien sprawdzać czy nikt nie ingerował we wnętrze jego EXEca-ma obliczać swoją SumęKontrolną.Jednak przy próbie wywołania RESET(plik,1); wywala mi błąd I/O Error 32... , co może być tego przyczyną(przypuszczam ze chodzi o wspóldzielenie otwartego pliku), jak to ominąć lub co robię źle...
dzięki za poświęcony czas , pozdrawiam

procedure TForm1.Button1Click(Sender: TObject);
var

  FromF: file;
  NumRead, NumWritten: LongINT;
  Buf: array[1..2048] of Char;
  counter,x,len:longint;
  b     :tab;
begin

  begin
    AssignFile(FromF,'Project1.exe');
    Reset(FromF, 1);	{ Record size = 1 }
    Canvas.TextOut(10, 10, 'Copying ' + IntToStr(FileSize(FromF))
        + ' bytes...');
    counter:=0;
    setlength(b,Filesize(FromF));
    repeat
       BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
       for x:= 0 to NumRead-1 do begin
         b[x+counter]:=buf[x];
       end;
       counter:=counter+NumRead;
     until (NumRead = 0) or (counter=filesize(FromF));
     CloseFile(FromF);
  end;
end;

[code][/code][code][/code][code][/code][code][/code]

0

Może spróbuj go skopiować, a potem sprawdzać ten skopiowany, a nie ten uruchomiony?

1 użytkowników online, w tym zalogowanych: 0, gości: 1