Delphi - otwieranie używanego pliku.

0

Mam problem. Otóż przy próbie otwarcia używanego pliku wyskakuje błąd I/O error 32.

procedure TForm1.Button1Click(Sender: TObject);
var
F1 : TextFile;
Line : String;
begin
AssignFile(F1, 'c:\qconsole.log');
Reset(F1);
try
...
end;
finally
CloseFile(F1);
end;
end;
end.

Przeczytałem, żeby spróbować zrobić to na strumieniach. Zrobiłem to na strumieniach, ale błąd jest dalej.

function GetTextFromFile(AFile: string; var Returnstring: string): Boolean;
var
FileStream: TFileStream;
begin
Result := False;
if not FileExists(AFile) then Exit;
FileStream := TFileStream.Create(AFile, fmOpenRead);
try
if FileStream.Size <> 0 then
begin
SetLength(Returnstring, FileStream.Size);
FileStream.Read(Returnstring[1], FileStream.Size);
Result := True;
end;
finally
FileStream.Free;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
if GetTextFromFile(c:\qconsole.log', s) then
begin
Rich.text := s;
end;
end;

Czy da się jakoś otworzyć tylko do odczytu używany plik? :-/

0

jeżeli program używa go w trybie exclusive to nie da się go "legalnie" odczytać
skoro nie działa drugi sposób to chyba za wiele nie zrobisz, a do pierwszego sposobu jakoś chyba się korzystało z FileMode := 0 (czy to tylko w pascalu)

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