Nichtmodalen Dialog mit modalem Childdialog schließen



  • Moin.

    Ich habe einen nicht modalen Dialog. Diesen schließe ich bei Bedarf mit DestroyWindow. In diesem Dialog kann wiederum ein Modaler Dailog erstellt werden.

    Wenn der modale Childdiaolg aktiv ist und ich versuche den Parent Dailog mit DestroyWindow zu schließen, stürzt das Programm ab.

    Wie schließe ich den Parent Digalog richtig, für den Fall das der modale Child Dialog noch aktiv ist?


  • Mod

    Modale Diaoge werden mit EndDialog beendet und zerstört :!:
    DestroyWindow verbietet sich.

    In der Theorie hast Du ja nicht mal ein Handle des zweiten Modalen Dialoges, wenn Du den hast, könntest Du diesen zuerst mit EndDialog beenden.



  • Der erste Dialog, welchen ich mit DestroyWindow beende, ist ja nicht (!) modal, siehe oben.

    Nein, ein Handle hab ich an der Steller nicht... Gibt es für diese Problem also keine Lösung?


  • Mod

    Nahja: Nehmen wirmal an, Du speicherst das CDialog Objekt an einer Stelle an der der 1. nicht modale Dialog dran kommt, dann könnte er sofort EndDiaog ausführen. Allerdings ist das Fenster dann eben noch nicht zerstört.

    Das Problem, ist, dass Dein Aufruf von DoModal in den modalen Diaog zurück kommt, und das Objekt, dass eben noch den Dialog ausführte ist nicht mehr existent und der this Zeiger ungültig...

    Du müsstest das anders synchronisieren.
    Warum versteckst Du den nicht modalen Dialog nicht einfach nur?
    Oder benutze PostMessage mit selbst definierten Nachrichten...


Anmelden zum Antworten