![]() |
Re: IOResult funktioniert nicht korrekt
Unter TP gabs mal FileMode, damit konnte man angeben, ob eine Datei nur zum Lesen, zum Schreiben oder für beides geöffnet werden soll.
Werte für FileMode waren 0,1, und 2, soweit ich weiß. Vielleicht hilft dir das. |
Re: IOResult funktioniert nicht korrekt
Ach ja, muß es nicht überhaupt so heißen:
1 {$I-} 2 assign(f,'fehler.rec'); 3 reset(f); 4 {$I+} 5 ioerror := (IOResult = 0); also erst {$I+} wieder einschalten? |
Re: IOResult funktioniert nicht korrekt
Zitat:
Delphi-Quellcode:
AFAIR war das auch schon bei TP7 so, dass vor dem Abfragen von IOResult erstmal {$I+} ausgeführt werden mussste...
var
F: file of Byte; begin if OpenDialog1.Execute then begin AssignFile(F, OpenDialog1.FileName); {$I-} Reset(F); {$I+} if IOResult = 0 then begin MessageDlg('File size in bytes: ' + IntToStr(FileSize(F)), mtInformation, [mbOk], 0); CloseFile(F); end else MessageDlg('File access error', mtWarning, [mbOk], 0); end; end; Greetz alcaeus |
Re: IOResult funktioniert nicht korrekt
Hallo wespi,
Dein Fehler ist kaum nachvollziehbar (siehe Luckis Beitrag). Hier nochmal der Standardaufbau, den ich dann jeweils bei Bedarf anpasse.
Delphi-Quellcode:
{$I-} bzw. {$I+} muß nicht ständig umgeswitcht werden.
uses
System; var ioerr : integer; begin {$I-} AssignFile(f, lw_path_und_filename); Reset(f); // für Lesen oder Append(f); // für Anhängen if IOResult <> 0 then begin // Fehler beim Öffnen Rewrite(f); ioerr := IOResult; if ioerr <> 0 then begin ShowMessage('Datei konnte nicht angelegt werden' + chr($0A)+chr($0D) + 'Fehler-Nummer: ' + IntToStr(ioerr)); exit; end; end; Append(f); Writeln(f, 'irgendwas'); Flush(f); // Sicherstellen, daß der Text tatsächlich in die Datei geschrieben wird. CloseFile(f); {$I+} end; Wegen so einem Fehler wieder auf TP umsteigen, ich würd's mir noch mal überlegen. Es gibt nunmal gelegentlich Fehler, wo man einen halben Tag sucht, nur um festzustellen, daß die Logik von Delphi nicht kompatibel ist mit der Logik des Programmierers. Zum Glück sind die meisten Programmierer lernfähig!! mfg eddy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz