Code Frage
-
Hallöchen ich bin mal wieder habe hier ne Code Zeile aus der ich nnicht schlau werde vielleicht könnte mir jemand mal etwas dazu schreiben.
return Open(((CMDatabase *)CRecordset::m_pDatabase)->m_nOpenType,m_StandardSql,((CMDatabase *)CRecordset::m_pDatabase)->m_dwOption);
Bekomme in dieser Zeile eine Fehler Meldung
"Unbehandelte Ausnahme in tet.exe: 0xC0000005: Access Violation"
-
Stimmt die Annahme, dass das in einer von CRecordset abgeleiteten Klasse steht?
Mach doch eingach mal ein try-catch um den Methodenaufruf und schaue nach, was in der Exception für ein Fehler steht.
-
Warum machst Du eigentlich einen neuen Thread auf?
Hast Du mal debuggt und geschaut was "CRecordset::m_pDatabase" ist? Ich vermute mal NULL oder sontwas unsinniges...
-
Also auf "m_nOpenType" und "m_StandardSql" steht was drin aber bei "m_dwOption" zeigt er mir in der Überwachung "Fehler Symbol nicht gefunden".
Hilfreich wäre es auch wenn mir mal jemand was zu der Obengenannten Zeile sagen könnte denn irgendwie blick ich da nicht durch.
-
Hallo Tinchen,
also bei dem Code würde mir auch schlecht werden. Du hast es echt nicht leicht.
Anscheinend erzeugt der Vorbentwickler irgendwo einen Klasse vom
Typ CMDatabase und weisst die Adresse der statischen Zeigervariablen
m_pDatabase zu. Diese Variable existiert nur einmal im ganzen System.
Setze also einen Breakpoint mit F9 auf die von dir gepostete Zeile und
lass Dir dann den Inhalt der Variable mit CRecordset::m_pDatabase
anmzeigen. Steht da NULL, suche die Stelle wo die Variable
beschrieben wird und prüfe, wann und wie das aufgerufen wird.
-
Also hab den Brakpoint auf die Zeile gesetzt in der Überwachung "CRecordset::m_pDatabase" eingetragen bei Wert steht nun
"CXX0041: Fehler: Klassenelement muss als "static - oder member --Funtkion deklariert sein".