Aktion Sauberes Schließen :-)



  • Eine Klasse mit dem Namen CStart sieht auch scheiße aus und sagt überhaupt nix aus.



  • TaccoGo schrieb:

    Hallo,

    wen es dir nur um das optische get dan könntest du doch beim starten des fensters visible auf false setzen dan siet man das fenster ja nicht wen es kurtz aufspringt. und wen die anmelung ervolgreich ist dan wieder visible auf true.

    ist ein forschlag.

    MFG TaccoGo

    Aloha, Ihr lieben...

    danke für die Antworten.
    @TaccoGo

    Mache ich das nicht, wovon Du sprichst ?
    ShowWindow(SW_HIDE)

    oder meinst Du ne andere Stelle ??

    @estardu_de

    nein. in die App zu packen ist so erstmal nicht möglich, ohne größere Umstände, aber ich könnte ne BOOL - VAriable in die App packen, die ich von der View aus fülle, das geht.
    Das war die Lösung, danke.

    @scheiße

    Wat soll die Klasse auch schon aussagen, mein kleiner Troll ???? 😉

    Grüße

    BOA



  • 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,

    @taccogo

    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.

    @net

    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


Anmelden zum Antworten