bigpoint Geschrieben 8. April 2003 Geschrieben 8. April 2003 Ich frage in InitInstance() nach einem wert wenn er nicht aktuell ist schließe ich die Anwendung mit return FALSE; allerdings kriege ich ein Exception wie schließ man normaler weise ein proggi, was mache ich falsch
Hexagon Geschrieben 8. April 2003 Geschrieben 8. April 2003 Hi, versuchs mal mit PostMessage(WM_CLOSE) oder so etwas in der Art!
bigpoint Geschrieben 8. April 2003 Autor Geschrieben 8. April 2003 Hmm .............. da ich mich mit Exception nicht gut auskenne Also das übliche Der Vorgang „red“ konnte ..........
Klotzkopp Geschrieben 8. April 2003 Geschrieben 8. April 2003 Sieht nach einer Schutzverletzung aus. Versuch mal, die Exception zu Debuggen, und schau nach, wie der Callstack aussieht.
bigpoint Geschrieben 8. April 2003 Autor Geschrieben 8. April 2003 Original geschrieben von Klotzkopp Sieht nach einer Schutzverletzung aus. Versuch mal, die Exception zu Debuggen, und schau nach, wie der Callstack aussieht. Ja wie gesagt ich kenne mich da noch nicht richtig aus , habe versucht sehe sogar irgend welche werte aber die sagen mir nicht viel ?!!? ;( Was soll man da raus finden ??
Klotzkopp Geschrieben 8. April 2003 Geschrieben 8. April 2003 Original geschrieben von 007ski Was soll man da raus finden ?? Wie ist der genaue Wortlaut der Exception/Fehlermeldung? Wie heißen die obersten Funktionen im Callstack?
bigpoint Geschrieben 8. April 2003 Autor Geschrieben 8. April 2003 Original geschrieben von Klotzkopp Wie ist der genaue Wortlaut der Exception/Fehlermeldung? Die Anweisung in“0x1f9363ea“ verweist auf Speicher in „0x00000008. Der Vorgang red konnte nicht auf dem Speicher durchgeführt werden Original geschrieben von Klotzkopp Wie heißen die obersten Funktionen im Callstack? CxyApp::InitInstance() line 97 AfxWinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char * 0x00132e34, int 1) line 39 + 11 bytes WinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char * 0x00132e34, int 1) line 30 WinMainCRTStartup() line 330 + 54 bytes KERNEL32! 77e8ca90()
Klotzkopp Geschrieben 8. April 2003 Geschrieben 8. April 2003 Original geschrieben von 007ski CxyApp::InitInstance() line 97Was steht in dieser Zeile?
Crush Geschrieben 8. April 2003 Geschrieben 8. April 2003 Heißt der Vorgang nicht zufällig READ (nicht Red)? Versuchst Du in InitInstance() direkt das Programm zu schließen? Das klappt dort glaub nicht gut. Probier doch mal ein PostQuitMessage(0); das könnte helfen
bigpoint Geschrieben 9. April 2003 Autor Geschrieben 9. April 2003 Original geschrieben von Klotzkopp Was steht in dieser Zeile? Also ich glaube ich habe Callstack falsch benutz, denn ich habe ein breakpoint gesetzt dann debug ausgeführt und das Ergebnis aus dem Callstack dir gezeigt also in line 97 steht genau das wo ich den breakpoint gesetzt habe wie soll ich machen das ich es richtig benutze ?Ausführen bis Fehler ? Wen ja das steht dann im Callstack OLEDB32! 1f9363ea() OLEDB32! 1f934657() OLEDB32! 1f9345a8() OLE32! 77a6f456() OLE32! 77a6f694() OLE32! 77a6f09f() OLE32! 77a4346b() OLE32! 77a433c8() OLE32! 77a436fb() MSADO15! 1f4b18d2() MSADO15! 1f4791be() ADOCG::Connection15::Close() line 335 + 14 bytes Access::closeConnection() line 94 Access::~Access() line 35 $E323() + 63 bytes _CRT_INIT(void * 0x10000000, unsigned long 0, void * 0x00000001) line 236 _DllMainCRTStartup(void * 0x10000000, unsigned long 0, void * 0x00000001) line 289 + 17 bytes NTDLL! 77885058() NTDLL! 7788f87e() KERNEL32! 77e8cfb1() doexit(int 0, int 0, int 0) line 392 exit(int 0) line 279 + 13 bytes WinMainCRTStartup() line 345 KERNEL32! 77e8ca90() In line 345 steht das __except ( _XcptFilter(GetExceptionCode(), GetExceptionInformation()) )
bigpoint Geschrieben 10. April 2003 Autor Geschrieben 10. April 2003 Ist das nicht besonders hilfreich was ich geschrieben habe ?? PS Es ist nicht ironisch gemeint
Klotzkopp Geschrieben 10. April 2003 Geschrieben 10. April 2003 Die Exception kommt aus ADO. Ist Access ein globales Objekt, dass du selbst erstellt hast?
bigpoint Geschrieben 10. April 2003 Autor Geschrieben 10. April 2003 Original geschrieben von Klotzkopp Die Exception kommt aus ADO. Ist Access ein globales Objekt, dass du selbst erstellt hast? ja, aber sag mir woher weist Du das es von ADO kommt ??
bigpoint Geschrieben 10. April 2003 Autor Geschrieben 10. April 2003 Super ich hab’s Danke Klotzkop :marine CallStack kannst Du mir bitte sagen für was es gut ist wie sollte man es verwenden ?
Klotzkopp Geschrieben 11. April 2003 Geschrieben 11. April 2003 Der "Call Stack", oder zu deutsch Aufrufstapel, zeigt die Funktionsaufrufe, die zur Zeit noch nicht zurückgekehrt, also in Bearbeitung sind. Man sieht hier z.B., dass es sich um eine Windowsanwendung handelt (WinMainCRTStartup). Nachdem Du InitInstace mit FALSE beendet hast, ruft das MFC Framework die Funktion exit auf (sieht man auch im Stapel). Danach wird die Laufzeitumgebung deinitialisiert. Das danach noch ein Destruktoraufruf erscheint (Access::~Access), kann eigentlich nur bedeuten, dass es sich um ein statisches oder globales Objekt handelt. In diesem Destruktor steht dann der ADO-Aufruf. Man sieht hier auch sehr schön, wie ADO alles an OLEDB weiterreicht. Die Ausnahme kommt vermutlich daher, dass ein ADO-Aufruf geschieht, nachdem bereits die gesamte Laufzeitumgebung runtergefahren wurde.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden