DoModal Problem
-
int CDialog::DoModal() { // [...] gelöscht (siehe nächster Post) }diese Funktion hängt sich bei
if (CreateDlgIndirect(lpDialogTemplate, CWnd::FromHandle(hWndParent), hInst))mit folgendem Fehlercode(Debuger) auf:
*First-chance exeption in .EXE: 0xC0000005: Access Violation
Warum?
Wenn ihr mehr Infos braucht sagt Bescheid.
MfG didi_nlz
-
1. Posten von nicht zur Veröffentlichung freigebenem Source-Code ist nicht erlaubt; schon gar nicht wenn er gesamte Funktionen enthält und Du auch noch der EULA zugestimmt hast
2. Das Problem liegt mit größter wahrscheinlichkeit nicht an dieser Methode sondern an dem der es aufruft bzw. dem Resource-File
-
Sorry das war mir nicht bewusst, danke für die Richtigstellung.
-
Schau Dir doch bitte mal in diesem Moment im Watch Window den this Zeiger an. Ist der evtl. NULL?
-
Ja der Zeiger ist NULL.
Bevor ich das Dlg erstelle und ausführen will, lese ich aus einer Datei etwas. Bisher hat das funktioniert, als ich die Datei allerdings in einen anderen Ordner gelegt habe und auch hier die Datei erfolgreich auslese kommt dieser Fehler (auch als es funktioniert hat war der Zeiger NULL
).
-
Kannst Du mal den Code zeigen, wie Du DoModal aufrufst. Ich vermute Du hast einen Zeiger auf das CDialog Objekt erzeugt und kein Objekt selbst!
-
CEditGnr dlg; dlg.m_typ = 2 //... dlg.m_edit = gtyp; dlg.DoModal();m_typ ist int
und m_edit CString
-
Habe den Fehler gefunden.
habe mir vor dem Aufruf mit einem zu kleinen char-Array den Speicher kaputt gemacht.