Einzelnen Beitrag anzeigen

Thorben86

Registriert seit: 20. Nov 2003
Ort: Brühl
365 Beiträge
 
Delphi 2005 Personal
 
#1

Error Code 183 beim Datei überschreiben mit Rewrite.

  Alt 6. Nov 2008, 15:53
Ich habe das Problem, dass mir die Funktion Rewrite(f) beim überschreiben den Error Code 183: "Cannot create a file when that file already exists." wirft. Geschrieben wird die Datei trotzdem korrekt.

Da die Funktion ja extra zum überschreiben von Dateien da ist, wundert mich der Fehler doch ein wenig.
Benutze Delphi 2005. Habe es auch schon ohne die beiden $IOChecks-Zeilen versucht.

ich benutze folgende Funtion (müsste hier aus dem Forum kommen, wenn mich nicht alles täuscht) zum schreiben der Datei:
Delphi-Quellcode:
function WriteData(filename : String; data: String; mode : TMode): Integer;
var
  f: TextFile;
begin
{$IOChecks OFF}
  AssignFile(f,filename);
  if (FileExists(filename) and (mode = a) ) then
    Append(f)
  else
    Rewrite(f);
  //Hier ist GetLastError() = 183
  Writeln(f, data);
  CloseFile(f);
  result := GetLastError();
{$IOCHECKS ON}
end;

Aufruf:
      if SaveDialog1.Execute then
        begin
          err := WriteData(SaveDialog1.Filename, data, r);
          if (err <> 0) then
            Showmessage ('Errorcode: '+ inttostr(err)+#13#10+SysErrorMessage(err));
        end;
  Mit Zitat antworten Zitat