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 ladevoid 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
-
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