Thema: Delphi Problem mit FileRead

Einzelnen Beitrag anzeigen

Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#2

Re: Problem mit FileRead

  Alt 9. Jan 2005, 01:40
moin,
auch wenn ich nicht genau weiß warum dem so ist, kann ich dir zumindest schonmal sagen dass der den fehler produzierende teil deines sources die funktion StrAlloc ist. ersetze sie durch GetMem oder AllocMem, und der fehler dürfte nicht mehr auftreten (zumindest tut er es bei mir nach dem ersetzen nicht mehr).

noch so am rande: wer speicher alloziert sollte ihn auch am ende wieder freigeben (mit StrDispose bzw. bei GetMem und AllocMem mit der Funktion FreeMem)
Delphi-Quellcode:
constructor TXY.Create;
var F: Integer;
    B: PChar;
begin
  inherited Create;
  F := FileOpen('D:\x.txt',fmOpenRead); //leseberechtigung reicht doch, oder?
  B := AllocMem(4);
  try
    FileSeek(F,0,soFromBeginning);
    FileRead(F,B^,3);
    ShowMessage(B+'!'); //StrPas ist eigentlich überflüssig
  finally
    FreeMem(B);
    FileClose(F);
  end;
end;
[Edit] achja und willkommen in der DP [/edit]
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat