Einzelnen Beitrag anzeigen

karlkoch

Registriert seit: 26. Feb 2006
Ort: Leipzig
30 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Negatives TFileStream.Seek mit soFromEnd unter Windows 9

  Alt 20. Sep 2007, 12:09
Ich kann den Fehler mit folgendem Beispielcode reproduzieren:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  Stream: TFileStream;
begin
  Stream := TFileStream.Create('Test.txt', fmOpenRead or fmShareDenyWrite);
  try
    Stream.Seek(-1, soFromEnd);
    ShowMessage(Format('Größe: %d Position: %d', [Stream.Size, Stream.Position]));
  finally
    Stream.Free;
  end;
end;
Wie zu erwarten gibt das Programm eine Position eins vor der Gesamtgröße zurück, was auch völlig normal ist. In VirtualPC mit Win98 springt er jedoch 1 hinter die Datei. Zum Testen einfach die 'Test.txt' mit einer eigenen Datei ersetzen, die mindestens 1 Byte groß ist.

karlkoch
  Mit Zitat antworten Zitat