DLL Dialog -> Anwendung wird geschlossen
-
Mh... Willst du, dass die MessageBox nach der Beendung deines "InfoDialogs" erscheint, oder willst du, dass sie vor dem Erscheinen deines Dialogs erscheint?
-
Ich will die MessageBox gar nicht haben.
Das Problem ist ein anderes:
Ich rufe mit dem Code da oben ein Dialogfeld auf. So weit so gut.
Wenn ich nun das geöffnete Dialogfeld wieder schließe, dann wird auch gleich noch die aufrufende Anwendung beendet, was aber eigentlich nicht sein soll.Wenn ich aber hinter den DoModal(); aufruf (zum Testen) eine MB mache, dann seh ich diese noch und erst nachdem ich die MB geschlossen hab wird das Programm beendet.
Ich will aber, dass der im Programm bleibt.
-
Ich würde darauf tippen das sich Dein Programm auch beendet wenn Du den DoModal(); aufruf auskommentierst ohne das die DLL angesprochen wird.
Versuchs mal bitte und poste das Ergebnis.
-
Also wenn ich nur die DoModal() Zeile auskommentiere und die darüber so lasse, dann gibts nen bösen Fehler: "Die Anweisung in '0xirgendwas' verweist auf Speicher in '0xirgendwas'. Der Vorgang 'written' konnte nicht auf dem Speicher durchgeführt werden."
Wenn ich beide Zeilen auskommentiere, passiert, wie zu erwarten, gar nichts wenn ich auf den Button drücke.
-
Und wenn ich nur die DoModal()-Zeile auskommentiere und dahinter eine MessageBox("") mache, dann bekomm ich die MessageBox auf den Schirm und nach dem Schließen der MB beendet sich das Prog, wie vorher. (ohne Fehlermeldung)
void CTournamentDlg::OnBnClickedAboutButton() { CInfoDlg dlgInfo; MessageBox(""); //dlgInfo.DoModal(); }Also jetzt bin ich so richtig ratlos.

-
noch eine Kleinigkeit:
Der DoModal() - Aufruf gibt mir IDCANCEL zurück, was auch stimmt so.
Kann mit diesen Infos jemand was anfangen ?Danke

-
Zeig mal einen Teil deines DLL-Codes. Vermutlich hast du da was vergessen.
Bzw. zum Download des ganzen Codes. Dann kann ich es testen obs bei mir auch so ist
-
Und das passiert nur wenn der Dialog in einer DLL ist? Und wenn du ihn in die EXE tust passierts nicht?
-
Und wenn ich nur die DoModal()-Zeile auskommentiere und dahinter eine MessageBox("") mache, dann bekomm ich die MessageBox auf den Schirm und nach dem Schließen der MB beendet sich das Prog, wie vorher. (ohne Fehlermeldung)
Da würd ich mal fast drauf tippen das es nicht an der DLL liegt.
Kommentier mal alle Zeilen aus und schaue ob es sich dann auch beendet.
Wenn ja schau ob Du die ID des Buttons vllt. noch wo anderst auswertest.Das Crashen ohne DoModal könnte am Destruktor liegen. Aufräumarbeiten die erst nach einem DoModal nötig wären ?
-
Also vielen Dank mal, werd den Code dann gegen Ende der Woche mal uploaden, hab den leider grade nicht zur Verfügung. Das wär echt super, wenn da jemand schauen könnte.
Ich melde mich wieder.
So far: Danke