DLL in Laufzeit eingebunden, DoModal Dialoge werden nicht mehr angezeigt(MFCVC6++)



  • Hallo!
    um meine Anwendung 2 sprachig zu gestalten habe ich einen Dll pro Sprache, die ich dann zur Laufzeit lade

    void CPolosProgrammDlg::OnEnglisch() 
    {
    // Aktives Resourcehandle holen
    hExe = AfxGetResourceHandle();
    ASSERT(hExe);
    // DLL-Datei laden 
    hDll = AfxLoadLibrary(_T("englischetexte.dll"));
    ASSERT(hDll);
     // Neues Resourcehandle setzen 
    AfxSetResourceHandle(hDll);
    Texte_zuweisen();
    }
    

    Leider gehen seitdem nicht mehr meine modale Dialoge. Ich habe in diesem Forum auch gefunden warum, und wie man das behebt:

    Um das Problem zu lösen, überschreibt man in der von CDialog abgeleiteten Klasse die Methode DoModal und fügt am Anfang die Zeile : AFX_MANAGE_STATE(AfxGetStaticModuleState()) ein.

    Aber ich habe leider keine Ahnung, wo und wie man das macht. Kann mir jemand sagen, wo ich das machen soll?
    Es geht zunächst nur um das "About-Dialog".

    Vielen Dank im Voraus
    frenchcancan


  • Mod

    Wenn Du die DLL als Extension DLL gebaut hast, ist es gut möglich, dass nun in dieser DLL auch die entsprechenden Resourcen gesucht werden.



  • und was kann ich da gegen tun?
    Kennst du diesen Befehl mit AFX_MANAGE_STATE(AfxGetStaticModuleState()) und wo soll ich den aufrufen?
    Danke für die Hilfe
    frenchcancan


Anmelden zum Antworten