Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

  • Autor
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 ??

  • Autor
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()

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

  • Autor
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()) )

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.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.