?
´´´´ schrieb:
Ne, mit dieser Methode kann es glaube ich nicht klappen. Man kann ja nirgendwo das Modul-Handle (HINSTANCE) angeben. Zur Not LoadMenu aus der WinAPI benutzen und mit Attach an dein Objekt dranhängen.
HMENU menuHandle = ::LoadMenu(dllHandle, MAKEINTRESOURCE(IDR_MENU1));
CMenu menu;
menu.Attach(menuHandle);
Hi. das funktioniert leider auch nicht.
Nun gut, ein anderer Ansatz:
Ich erstellte lokal im Ressourceneditor zwei Menüs (IDR_MENU1, IDR_MENU2) mit deutschen und englischen Texten.
Will ich das eine Menü laden, geht es jetzt nicht mehr, weil ich zuvor mit folgendem Code die DLL geladen habe..
m_dll_instance = LoadLibrary("Dll_en.dll"); // Dll laden
ASSERT(m_dll_instance); // Ist Dll geladen?
AfxSetResourceHandle(m_dll_instance); // Resourcenhandle auf Dll setzen
Aha.. Lädt man eine DLL, so hat man in dem Fall keinen Zugriff mehr auf lokale Ressourcen
DAS ist aber nicht das, was ich wollte. ICH wollte nur die Stringtables auslagern, eben halt das Sprachspezifische! So könnte ja die DLL (oder ich würde sie halt 'Language File' nennen) 'nur' das nötigste, d.h. Stringtables enthalten. JETZT müsste ich aber alle Ressourcen in die DLL packen. That sucks. PLus das will ich nicht
Wer weiss Rat?