Liebe Delphianer, ich habe hier folgenden Code vorliegen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| function LiesZeile(Datei: TextFile): string; var Zeile: string; Zeichen: Char; begin Zeile := ''; Zeichen := ' ';
while(Zeichen <> #13) and not EOF(Datei) do begin Read(Datei, Zeichen); if Zeichen = #0 then Zeichen := '0'; if Zeichen <> #13 then Zeile := Zeile + Zeichen; end; if not EOF(Datei) then Read(Datei);
Result := Zeile end; |
Das bringt mir den im Titel genannten Fehler. Wenn ich nun "TextFile" durch "PTextFile" (was ein Pointer auf TextFile ist) ersetze und "Datei" durch "Datei^" ersetze meckert er zumindest nicht mehr.
Wieso ist das so? Wird TextFile nicht "per reference" übergeben?
PS.: Bitte keine Diskussion über Sinn-/Unsinn des Codes bzw. Fehlerbehandlungen
