Dialog - Warum funktioniert das anzeigen eines Dialogfensters in DLL nicht?



  • In einer ButtonClick-Behandlungsroutine einer DLL möchte ich einen Dialog anzeigen. Ich schreibe :

    CDialog dlg(IDD_MYDIALOG,CWnd::GetActiveWindow());

    dlg.DoModal();

    Doch leider wird der Dialog nicht angezeigt. Ich habe es auch schon über Create versucht :

    dlg.Create(IDD_CONFIGDIALOG,CWnd::GetActiveWindow());

    aber das funktioniert auch nicht, Create gibt NULL zurück. GetActiveWindow scheint zu funktionieren, jedenfalls wird ein Zeiger zurückgegeben. Selbst wenn ich eine Klasse von CDialog ableite und die Resource einbinde, geht es nicht. Mache ich irgendwas falsch? Wenn ich Messageboxes in die Behandlungsroutine eintrage, werden die angezeigt, auch z.B. ein CFileDialog lässt sich ohne Probleme öffnen. Ich habe den gleichen Code mal in einer anderen Dialoganwendung probiert, da funktioniert es ebenfalls. Im Moment weiss ich nicht mehr weiter, hat jemand eine Idee?

    Danke, LVMH.



  • Hi,

    warscheinlich kann er die Resource nicht finden.
    Hast du an das Makro

    AFX_MANAGE_STATE(AfxGetStaticModuleState());
    

    gedacht??

    MFG
    Kai



  • Genau das wars!!! YOU ARE MY HERO 👍

    Besten Dank!

    Gruss, LVMH.


Anmelden zum Antworten