Aktion Sauberes Schließen :-)
-
Ich würde ihr einfach nen passenden Namen geben. CLoginDialog vielleicht. Ich weiß nicht ob das passt.
-
scheiße schrieb:
Ich würde ihr einfach nen passenden Namen geben. CLoginDialog vielleicht. Ich weiß nicht ob das passt.
Aloha,
sorry, Dein Beitrag war ja ernst gemeint.
Du hast natürlich Recht, Dein Name wäre passender.
Grüße
BOA
-
oh mein fehler hast du ja schon stechen aber ich meint das du das schon im init des sdi fensters machst und nicht erst nachdem du das dialogfeld startest.
mfg TaccoGo
-
PostQuitMessage() schiebt nur eine WM_QUIT in die queue und nach dem 'return' macht dein programm weiter d.h. arbeitet erst andere messages ab (u.a. um das fenster aufzubauen), bevor WM_QUIT drankommt.
die einfachste methode ist: statt 'PostQuitMessage()' einfach 'ExitProcess()' aufrufen (ist aber nur auf echten win32 dosen, nt, 2k, xp zu empfehlen, also nicht win98 und me).
-
Aloha,
habe ich jetzt auch nach Deiner Variante getestet. Funzt leider auch nicht.
Ich habe immer noch das eine Nanosekunde aufpoppende Fenster, bevor es sich zerstört.Was passiert bei Ein98 und Me ?
@estardu_de
Deine Variante funzt leider doch nicht, weil ich leider erst nach der Runtime Class in der App das Return FALSE schicken kann. Ist ja auch logisch , ich Volldepp, zu früh gefreut.
Grüße
BOA
-
Hmmm? Okay, nochmal Quelltextschnipsels aus meiner App:
BOOL CAd3App::InitInstance() { // InitCommonControls() ist für Windows XP erforderlich, wenn ein Anwendungsmanifest // die Verwendung von ComCtl32.dll Version 6 oder höher zum Aktivieren // von visuellen Stilen angibt. Ansonsten treten beim Erstellen von Fenstern Fehler auf. InitCommonControls(); // Anmeldedialog anzeigen CAnmeldeDlg dlg(m_rBenutzer); if (dlg.DoModal() == IDCANCEL) { return FALSE; } // Ganz viel Kram, der egal ist, weil er bei drücken von Cancel nicht gebraucht wird...
Wenn das Beispiel nicht reicht, sag Bescheid, dann gibts die komplette Funktion.
-
BOA schrieb:
@net
Was passiert bei Ein98 und Me ?globale memory leaks etc. 'ExitProcess()' schiesst dein programm gnadenlos ab. es werden auch keine destruktoren mehr aufgerufen. kommt nur 'echtes windows' in jeder lage mit klar.
-
Schade das das nich geklapt hat.
MFG TaccoGo
-
Aloha,
@estardu_de
danke, ich habe Dich verstanden. Finde ich persönlich die sauberste und cleverste Lösung.
Geht aber aus programmtechnischen Gründen leider nicht.Ich habe da aber noch ne Idee, die muß ich mal testen.
Danke erstmal
BOA
-
Schade, dann viel Glück...
-
Aloha estardu_de,
habe mich jetzt entschlossen, das Proggi insofern zu verändern, daß ich nun in der InitInstance tatsächlich wie Du vorschlugst die Überprüfung vornehme, und ggfs. das Programm terminiere, und siehe da, keine "Scheinfenster" mehr.
SetWindowText aus dem anderen thread funzt immer noch net....
Aber auch das kriegen wir hin.Danke noch einmal
BOA