Thema: Delphi Problem mit FileRead

Einzelnen Beitrag anzeigen

McDaTob

Registriert seit: 9. Jan 2005
29 Beiträge
 
#1

Problem mit FileRead

  Alt 9. Jan 2005, 00:49
Hallo,
kann mir jemand folgendes Phänomen erklären?

Code:
unit Unit2;

interface

uses
  SysUtils, Classes, Dialogs;

type
  TXY = class(TObject)
  public
    constructor Create;
  end;

implementation

constructor TXY.Create;
var
  f : integer;
  b : PChar;
begin
  inherited Create;
  f := FileOpen('D:\x.txt',fmOpenReadWrite);
  FileSeek(f,0,soFromBeginning);
  b := StrAlloc(3);
  FileRead(f,b^,3);
  ShowMessage(StrPas(b)+'!');
  FileClose(f);
end;

end.
Der Inhalt von 'x.txt' ist '123'.
Wenn ich eine Instanz dieser Klasse aus meinem Programm heraus erstelle, sollte doch eigentlich
eine MessageBox mit dem Inhalt '123!' erscheinen.
Wenn ich die Instanz bei einem ButtonClick erstelle passiert dies auch.
Wenn ich es aber in der FormCreate mache, erhalte ich '123S____'.
Ich verstehe nicht, wo der Unterschied ist.
Der Sinn des Programmes spielt dabei keine Rolle. Ist nur eine Prinzipsache, die ich nicht verstehe.
Wäre nett,wenn mir das jemand erklären könnte.
  Mit Zitat antworten Zitat