[allgemeinen Dateizugriff] Misslungener Dateizugriff ...!
spacer
Autor Nachricht
Hochhaus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 58



BeitragVerfasst: Fr 21.10.11 17:07 
Betrifft: allgemeinen Dateizugriff
Hallo allerseits !

was bedeutet "E/A Fehler 123" zur Laufzeit des Programmes ? Das Kompilieren läuft ohne Fehler durch, beim Ausführen stürzt das Proggi ab.

Code:
ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
  AssignFile(G, S);
AssignFile(H, T);
Reset(G); <- Hier ist der Fehler !
Rewrite(H);
StrZ := '';
Writeln(H, 'Titel: ',
Dann noch eine dumme Frage: Wie markieren ich den Quellcode als solchen in den Beiträgen ?

Danke im Voraus für die Antworten !

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
Niko S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 557
Erhaltene Danke: 9

Win 7, Ubuntu
Lazarus, Turbo Delphi, Delphu 7 PE
BeitragVerfasst: Fr 21.10.11 17:39 
www.delphi-forum.de/...ler+123_95549,0.html
Schau mal da... Es gibt viele solcher Fälle.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Administrator
Beiträge: 8371
Erhaltene Danke: 244

W2k, WXPpro
TP3 - D7pro
BeitragVerfasst: Fr 21.10.11 18:25 
Moin!

user profile iconHochhaus hat folgendes geschrieben Zum zitierten Posting springen:
Dann noch eine dumme Frage: Wie markieren ich den Quellcode als solchen in den Beiträgen ?
Markiere den Quelltext und klicke auf das Pluszeichen neben dem "Delphi" oben im Editor. Du kannst die Delphi-Tags auch manuell setzen:

[delphi]begin
ShowMessage('Hello World!');
end;[/delphi]

wird zu:
ausblenden Delphi-Quelltext markieren
1:
2:
3:
begin
ShowMessage('Hello World!');
end;

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Hochhaus Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 58



BeitragVerfasst: Sa 22.10.11 11:32 
user profile iconNiko S. hat folgendes geschrieben Zum zitierten Posting springen:
http://www.delphi-forum.de/topic_EA+Fehler+123_95549,0.html
Schau mal da... Es gibt viele solcher Fälle.


Da ich den Grund für so einen Fall nicht finden kann, habe ich einfach zuoberst im Proggi ein {$I-} eingefügt. Jetzt funktioniert alles TipTop. Gruss, Hochhaus
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 8625
Erhaltene Danke: 147

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: So 23.10.11 13:49 
Fehlerursache steht doch in der Fehlermeldung. Einfach mal nachschlagen, z.B. bei Microsoft unter "Windows Status Codes MSDN Library Error 123" und du findest die Lösung ...

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 15841
Erhaltene Danke: 741

XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
BeitragVerfasst: So 23.10.11 14:01 
Oder einfach direkt in Delphi mit SysErrorMessage ausgeben lassen:
ausblenden Delphi-Quelltext markieren
1:
ShowMessage(SysErrorMessage(123));
-->
bzw. besser natürlich mit dem letzten Fehler:
ausblenden Delphi-Quelltext markieren
1:
ShowMessage(SysErrorMessage(GetLastError));
Einloggen, um Attachments anzusehen!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Singlepin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32
Erhaltene Danke: 2

WinXP
Delphi6 MySQL
BeitragVerfasst: So 23.10.11 20:28 
Zitat:

Niko S. hat folgendes geschrieben :
www.delphi-forum.de/...ler+123_95549,0.html
Schau mal da... Es gibt viele solcher Fälle.


Da ich den Grund für so einen Fall nicht finden kann, habe ich einfach zuoberst im Proggi ein {$I-} eingefügt. Jetzt funktioniert alles TipTop. Gruss, Hochhaus

Das glaube ich nicht.
Das gleiche ist wenn der Feuerwehrmann die Alarmglocke abstellt und behaupte: das Feuer ist aus.
Schau noch mal in den Link.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Hochhaus Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 58



BeitragVerfasst: Mo 24.10.11 14:27 
Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

Es ist in der Tat so, dass die Feuerwehr ausrückt ! Nur dummerweise wegen einem "Fehlalarm". Und wenn man den abstellt, ist alles ok.

Wenn ich einen echten Fehler in meinem Programm hätte, würde ich das an der Funktionsweise der Datei-Eingabe/Ausgabe sehr schnell realisieren. Irgendwo in meinen Dateien wäre dann der "Wurm" drin.

Gruss, Hochhaus
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Singlepin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32
Erhaltene Danke: 2

WinXP
Delphi6 MySQL
BeitragVerfasst: Mo 24.10.11 17:38 
Hallo Hochhaus,

das dein Programm funktioniert halte ich durchaus für möglich.
Das dein Dateiname, Verzeichnisname usw. fehlerhaft ist solltest du schon mitbekommen haben,
daß dein Programm gegen den Willen des Betriebssystems trotzdem damit umgehen kann sollte dich nicht beruhigen.
Du hast die Fehlermeldung deaktiviert, was ist wenn nun ein anderer Fehler auftritt. Festplatte voll, Schreibfehler usw.
Dann bekommst du das nicht mit und wenn die Daten dann zum Teufel gegangen sich hast du eben Pech gehabt.
Du kannst machen was du willst, aber ich würde den Fehler(kein Fehlalarm) beseitigen und die Alarmsirene wieder anstellen.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Hochhaus Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 58



BeitragVerfasst: Mo 24.10.11 18:06 
Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

Ok, ich versuche es. Der Fehler tritt nicht nur an der bewussten Stelle auf, sondern bei JEDEM "Reset(F)" im ganzen Programm. Mal ist die Fehlernummer "E/A Fehler 123", Mal "EA-Fehler 32" usw. usw. Bei der Vergabe der Fehlernummer regiert der Zufall... ...
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Singlepin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32
Erhaltene Danke: 2

WinXP
Delphi6 MySQL
BeitragVerfasst: Mo 24.10.11 19:12 
Ein guter Entschluß!

Übrigens glaube ich hier nicht an Zufälle.
Beherzige den Tip von Jaenicke (weiter oben). Da hast du die Fehlebeschreibung im Klartext.
Deine Nr. 32 paßt zum Thema, du versucht die Datei zu öffnen obwohl sie schon geöffnet ist.

viel Erfolg
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Hochhaus Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 58



BeitragVerfasst: Di 25.10.11 12:45 
Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

Ich habe den Fehler gefunden: Eine Anweisung "ChDir(S)" in ein Unterverzeichnis, das nicht existiert, war der Grund. Dummerweise kommt bei dieser Anweisung keine Fehlermeldung (!), sondern erst später, wo ich versuche, in diesem Verzeichnis eine Datei zu öffnen. Es wäre oft sehr hilfreich, wenn der Fehler in der richtigen Zeile auftritt, und nicht 100 Programmzeilen weiter unten, wo man ihn nicht sucht.

Gruss,


Hochhaus
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 6027
Erhaltene Danke: 40

XP-Pro, Windows 7
D2005 Prof, XE2, SharpDevelop 2.0, VC#Express
BeitragVerfasst: Di 25.10.11 12:53 
user profile iconHochhaus hat folgendes geschrieben Zum zitierten Posting springen:
Es wäre oft sehr hilfreich, wenn der Fehler in der richtigen Zeile auftritt, und nicht 100 Programmzeilen weiter unten, wo man ihn nicht sucht.

Das passiert ja auch. Bei manchen Prozeduren muss man allerdings das IOResult explizit abfragen.
docwiki.embarcadero..../XE2/de/System.ChDir

_________________
Lesen gefährdet die Dummheit.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Luckie
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 11803
Erhaltene Danke: 146

WindowsXP Professional SP2
BDS2006, VS C++ Express, Eclipse (Java), Flex (Flash, AS)
BeitragVerfasst: Di 25.10.11 13:03 
user profile iconHochhaus hat folgendes geschrieben Zum zitierten Posting springen:
wenn der Fehler in der richtigen Zeile auftritt, und nicht 100 Programmzeilen weiter unten, wo man ihn nicht sucht.

Dann hast du offensichtlich an dieser Stelle mit der Fehlerbehandlung geschlampt.

_________________
Gruß Michael
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Hochhaus Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 58



BeitragVerfasst: Di 25.10.11 13:11 
Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

Ja. In der Tat, leider.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 15841
Erhaltene Danke: 741

XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
BeitragVerfasst: Di 25.10.11 14:13 
user profile iconHochhaus hat folgendes geschrieben Zum zitierten Posting springen:
Ich habe den Fehler gefunden: Eine Anweisung "ChDir(S)" in ein Unterverzeichnis, das nicht existiert, war der Grund. Dummerweise kommt bei dieser Anweisung keine Fehlermeldung (!), sondern erst später, wo ich versuche, in diesem Verzeichnis eine Datei zu öffnen. Es wäre oft sehr hilfreich, wenn der Fehler in der richtigen Zeile auftritt, und nicht 100 Programmzeilen weiter unten, wo man ihn nicht sucht.
Dann ist der Fehler ja ein ganz anderer:
Du hast die Pfadangaben vergessen. Stattdessen mit ChDir usw. rumzufrickeln ist halt wenig sinnvoll.

Wenn du bei Dateizugriffen keinen kompletten Pfad angibst, brauchst du dich über Fehler auch nicht wundern...
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Hochhaus Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 58



BeitragVerfasst: Di 25.10.11 15:42 
Das ist ein guter Korrekturvorschlag: Ich werde jetzt dann bei Dateizugriffen den kompletten Pfad aufgrund von ParamStr(0) benützen.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 15841
Erhaltene Danke: 741

XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
BeitragVerfasst: Di 25.10.11 16:51 
Wobei du im eigenen Verzeichnis in der Regel keinen Schreibzugriff hast.
www.delphi-library.d...ewtopic.php?p=548600
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
home home