Es geht hier um die Routine "FileCreate" in den SysUtils von FPC 3.0.0.
Wenn in einem Verzeichnis, für welches keine Schreibrechte bestehen, versucht wird, eine Datei mit "FileCreate"
zu erzeugen, müsste doch dieser Vorgang fehlschlagen. Tut es aber nicht.
Hier ein kleiner Code-Schnipsel:
Code: Alles auswählen
Var
Err : LongInt;
Begin
Err := FileCreate('C:\Program Files\Test.tmp');
End;
Code: Alles auswählen
Writeln(Err); //ergibt 140, also alles klar, was nicht sein darf.
Bei Rewrite macht er es richtig:
Code: Alles auswählen
Var
Err : Word;
f : Text;
Begin
AssignFile(f,'C:\Program Files\Test.tmp');
(*$I-*) Rewrite(f); (*$I+*)
Err := IOResult;
End;
Code: Alles auswählen
Writeln(Err); //ergibt 2, was richtig ist.
Zeff