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? :-/