Entwickler-Ecke
Dateizugriff - I/O error 105 !?
pHaRyNx - Do 28.08.08 13:27
Titel: I/O error 105 !?
moin.
ich habe folgendes problem: bei dem unten stehenden quelltext (beim ersten WriteLN) kommt besagter error:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| ... const konfig='konf.set'; var pw:string; sd,ifr:Integer; datei:textfile;
... AssignFile(datei,konfig); {$i-} rewrite(datei); {$i+} WriteLN(pw); WriteLN(IntToStr(sd)); WriteLN(verschl( IntToStr(sd) )); WriteLN(IntToStr(ifr)); WriteLN(verschl(IntToStr(ifr))); closefile(datei); |
wäre nett, wenn mir jemand helfen könnte, ich hab keine ahnung, was da schief läuft...
mfg pHaRyNx
edit
mann bin ich doof :D ich hab schon lange nicht mehr delphi programmiert ich muss ja writeln(datei,...) schreiben.
hat sich erledigt
hansa - Do 28.08.08 13:29
Titel: Re: I/O error 105 !?
wenn schon, dann so :
pHaRyNx hat folgendes geschrieben: |
[delphi]
AssignFile(datei,konfig);
{$i-}
rewrite(datei);
{$i+}
WriteLN(datei,pw);
|
pHaRyNx - Do 28.08.08 13:31
joa, danke :-)...mein fehler.
delphi10 - Do 28.08.08 16:46
io-Error 105 = Datei ist nicht zum Lesen geöffnet.
hansa - Do 28.08.08 16:55
delphi10 hat folgendes geschrieben: |
zum Lesen geöffnet. |
Klasse Beitrag. :mrgreen:
delphi10 - Do 28.08.08 17:46
Ein wenig Nachdenken fördert das Verständnis - auch das Zitieren klappt dann besser. :wink:
hansa - Do 28.08.08 17:52
was immer du damit sagen willst kapiere ich nicht. Error 105 heißt im Klartext : "Datei wurde nicht für Schreiboperationen geöffnet". Also eindeutiger Fall.
Delete - Do 28.08.08 20:30
Titel: Re: I/O error 105 !?
hansa hat folgendes geschrieben: |
wenn schon, dann so :
pHaRyNx hat folgendes geschrieben: | Delphi-Quelltext 1: 2: 3: 4: 5:
| AssignFile(datei,konfig); {$i-} rewrite(datei); {$i+} WriteLN([b]datei,[/b]pw); |
|
|
Und warum machst du es wieder nur halb richtig? Du schaltest die fehlerbehandlung aus, aber implementierst keine eigen. Wenn dann so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| AssignFile(datei); {$I-} Rewrite(datei); {$I+} if IOResult = 0 then begin Writeln(datei, 'Mein text.'); end else ShowMessage(SysErrorMessage(GetLastError)); |
Wen man das so macht, dann braucht man auch nicht lange rumrätseln, was Fehler 105 ist, da die Fehlermeldung im Klartext ausgegeb wird. Desweiteren stehen die IO Fehlercodes in der Hilfe. Man hätte also auch einfach mal selber nachgucken können, was Fehler 105 ist. Und mit etwas Nachdenken, hätte man dann wahrscheinlich auch selber die Lösung gefunden, ohne hir erst zu posten.
Chemiker - Do 28.08.08 22:19
Hallo
ich würde sogar sagen, dass es zwingend vorgeschrieben ist mit IOResult zu arbeiten!
Wenn ein Fehler auftritt, bei ausgeschalteter E/A-Prüfung werden keine nachfolgende E/A-Operationen durchgeführt.
Das bedeutet man sucht sich bei einem Fehler einen Wolf, weil man nicht bestimmen kann, wo der Fehler aufgetreten ist. Selbst wenn die nachfolgenden E/O-Operationen richtig sind.
Bis bald Chemiker
Delete - Do 28.08.08 22:36
Das predige ich schon seit Jahren. Eine vernünftige Fehlerbehandlung hilft auch ungemein dem Entwickler eventuell vorhandene Fehler zu finden. Aber irgendwie scheint den meisten eine Fehlerbehandlung überflüssig zu sein, seis, weil sie zu faul sind oder weil sie denken, "da kann nichts passieren, weil ich alles richtig mache". Und dann kommt so was wie oben gesehen bei raus.
hansa - Do 28.08.08 23:37
Titel: Re: I/O error 105 !?
Luckie hat folgendes geschrieben: |
hansa hat folgendes geschrieben: | wenn schon, dann so :
Delphi-Quelltext 1: 2: 3: 4: 5:
| AssignFile(datei,konfig); {$i-} rewrite(datei); {$i+} WriteLN([b]datei,[/b]pw); |
|
|
Wieso werde ich da zitiert ? :shock: Habe den Fehler schließlich aufgedeckt. :mrgreen: Eins fehlt noch im Kontext : IOResult wertet man nicht so aus. Das übergibt man einer Variablen. Und die wird ausgewertet. So ungefähr :
Ansonsten ist die Gefahr sehr hoch so etwas zu versuchen :
8)
Delete - Do 28.08.08 23:44
Titel: Re: I/O error 105 !?
hansa hat folgendes geschrieben: |
Wieso werde ich da zitiert ? |
Du weißt doch, immer auf die kleinen. :mrgreen:
hansa - Do 28.08.08 23:51
Titel: Re: I/O error 105 !?
Luckie hat folgendes geschrieben: |
Du weißt doch, immer auf die kleinen. :mrgreen: |
Jaja, so aber nicht. Nicht mit mir. :mahn: Der soll bloss Variable verwenden, sonst krachts. :mrgreen:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!