Entwickler-Ecke
Sonstiges (Delphi) - Externe Exception
Smartie - Mo 20.06.05 10:40
Titel: Externe Exception
Hallo,
ich habe mein Programmchen um eine kleine Prozeur erweitert, welche meinen Warnings, die in eine Logdatei geschrieben werden, auch evtl. auftretende Warnings hinzufügt.
Es funktioniert auch einwandfrei, nur brignt er ide Fehlermeldung "External Exception 80000001", und ich hab keine Ahnung warum, bzw. was dsiese Überhaupt aussagt (Die Delphi-Hilfe kontne mir da auch nicht helfen".
Weiß einer von Euch was da los ist?
Lieben Gruß und Danke
Smartie
BenBE - Mo 20.06.05 11:17
Externe Exceptions sind Windows-Fehlercodes. Die stehen im PSDK erklärt. Ich guck mal, ob ich gleich was finde ...
Sorry, nicht gleich gefunden ... WinError.h war zu lang ...
winerror.h
16907:
| { ... } #define E_NOTIMPL _HRESULT_TYPEDEF_(0x80000001L) |
Smartie - Mo 20.06.05 12:47
Hm,... und was kann ich da jetzt machen? Ic hweiß echt nimemr weiter. Es ist keine Lebensnotwendige Funktion, aber sie soltle schon drin sein. Kann ich das irgendwie abfangen?
Lieben Gruß und Danke
Smartie
BenBE - Mo 20.06.05 13:39
Kannst Du mal die Routine senden, die die Exception verursacht?
BTW: Nutzt Du darin zufällig ActiveX\COM\DCOM? Der Fehlercode ist eine ActiveX-Warning.
Smartie - Mi 22.06.05 07:19
Also, ich sende hier mal das Codestück, bei welchem , wenn ich es ausführe, die Exception kommt.
Und ja, ich nutze COM,aber bisher lief alles kla,r und nur weil ich plötzlich meine Warnings mit reinnehme, meckert er.
Also hier die Komponennte:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure Ziel_Warning; var sepi : String; begin try sepi := copy(Ziel_VarArr[z],1,3); if upperCase(sepi) = 'NIX' then begin Ziel_WarningArr[z] := 'Kein Zielspeicher in Zeile ' + InttoStr(z) + ' definiert.'; Warn_Bool01 := true; end else begin Ziel_WarningArr[z] := ''; end; finally ; end;
end; |
Herzlichen Dank und lieben Gruß
Smartie
BenBE - Mi 22.06.05 13:13
Auf Anhieb seh ich darin nix, was irgendwie Fehler verursachen könnte.
Kannst Du rein der Vollständigkeit halber mal noch die Deklarationen der einzelnen Variablen ergänzen?
Wenn dabei aber keine COM-Interfaces drin sind, sollte aber nix passieren.
BTW: Ist alles assigned und in-range?
Smartie - Mi 22.06.05 13:35
Ok, ich hab die ursaceh, und auch beseitigt.
Ich habe statt diese Prozedur in die Schleife zu donnern, diese da raus genommen, und ne eigene schleife machen lassen.
vorher sah es halt ungefähr so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure tudat; begin for z := 1 to laenge do begin Ziel_VarArr[z] := 'blah blubb' Ziel_Warning; end; end; |
und jetzt rufe ich Ziel_Warning; erst nach der prozedur "tudat" auf, und sie sieht entsprechend so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| procedure Ziel_Warning; var sepi : String; f : integer; begin for f := 1 to (L_INI_Array-1) DO begin try sepi := copy(Ziel_VarArr[f],1,3); if upperCase(sepi) = 'NIX' then begin Ziel_WarningArr[f] := 'Kein Zielspeicher in Zeile ' + InttoStr(z) + ' definiert.'; Warn_Bool01 := true; end else begin Ziel_WarningArr[f] := ''; end; finally ; end; end;
end; |
Wieder was gelernt *g*
Herzlichen Dank,
Smartie
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!