Dialog aus erweiterungs dll
-
hallo,
ich möchte gern mein projekt in module aufteilen, main exe soll verschiedene module zur laufzeit einbinden, geplant mit dll dynamisch zu nutzen, wenn es geht mit mfc erweiterungs dll. ich möchte da aber eine Dialog klasse exportieren, geht das dynamisch mit loadlibrary und getprocaddress?
wenn es nicht mit erweiterungs dll hinhaut und würde ich auch normale dll nehmen, auf jeden fall hätte ich gern, dass der dialog zur laufzeit dynamisch geladen werden kann. getprocaddress ladet doch nur funktion oder? wie ist das mit klasse laden?
-
Ich hab die Dialogklasse in der DLL mit dem Macro AFX_EXT_CLASS erweitert. Dann brauchst du nur die lib unter den Linker-Eigenschaften anzugeben und musst dich nicht um die Importe kümmern.
-
es geht hier um dynamisch laden einer erweiterungs dll mit klasse export. statisch lib weiss ich schon
-
Das funktioniert nicht.
Man kann keine Klasse dynamisch binden. Einziger Weg wäre ein Interface und eine Factory Klasse. Das geht aber nicht über den Exort einer Klasse.
-
Martin Richter schrieb:
Das funktioniert nicht.
Man kann keine Klasse dynamisch binden. Einziger Weg wäre ein Interface und eine Factory Klasse. Das geht aber nicht über den Exort einer Klasse.C sprache hat bei dll ja auch seine grenze. wie schade, dass es nicht geht
-
Wenn Du Dein Interface klar definierst kommt man mit diesem Factory Prinzip ziemlich weit.
Um das variabel zu halten musst Du Dich sowieso auf absolut gleiche Schnittstellen der Klassen in den extension DLLs einigen. Also warum nicht gleich zum Interface greifen. Ist auch nicht mehr Aufwand.