Entwickler-Ecke

Dateizugriff - E/A-Fehler 105


HenryHux - Mi 16.02.11 16:48
Titel: E/A-Fehler 105
Hi, kriege diese Exception immer, wenn ich versuche etwas in eine Datei zu schreiben.
Sieht bei mir so aus:


Delphi-Quelltext
1:
2:
3:
4:
5:
  Assign(Log, 'Log.txt');   // wird im klassen create aufgerufen
  if FileExists('Log.txt'then
    Append(Log)
  else
    Rewrite(Log);


und der Aufruf erfolgt so :

Delphi-Quelltext
1:
2:
3:
4:
procedure TLog.write(text : string);
begin
  Writeln(Log, text);
end;


Ich wüsste nicht, wo da der Fehler liegen sollte.
Wird allerdings in einem Thread aufgerufen, muss ich das synchronisiert aufrufen?

Lg


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mi 16.02.2011 um 16:16


gnomecoder - Mi 16.02.11 18:01

sollte es nicht Assignfile statt Assign heißen? :gruebel:


jaenicke - Mi 16.02.11 18:02

Erstens das und zweitens fehlt der Pfad zur Datei.
http://www.delphi-library.de/viewtopic.php?p=499701


HenryHux - Mi 16.02.11 18:08

Gleiches Problem gibts auch mit AssignFile und "richtigem" Pfad...
Wenn ich nem TextFile mit AssignFile eine Datei zuweise und dann einmal mit Append aufrufe und immer wieder mit WriteLn etwas hinzufüge, müsste das doch funktionieren?

Edit : Habe den Fehler gefunden. Habe eine Prozedur, die Write hieß. Habe jedoch vergessen sie in einer Instanz aufzurufen, habe also nur write(x); dort stehen gehabt. Compiler hats zwar compiliert, war aber nicht die Prozedur die ich wollte.
Naja, danke für die Tips, ist trotzdem gut zu wissen =)

Lg