ERLEDIGT
JA
JA
ANTWORTEN
1
1
ZUGRIFFE
221
221
EMPFEHLEN
-
Ich habe das Ziel Dialoge als Plugins zu verwenden und später über LoadLibary() nachzunutzen. Dazu machte ich bislang folgendes:
- anlegen einer Erweiterungs-Dll
- anlegen eines Dialoges in der Ressourcenansicht
- anlegen einer Klasse für den Dialog mit dem Klassenassistenten
- anpassen der Klasse für die DLL (siehe http://www.codeproject.com/KB/docview/sdicviewdll.aspx)
... und dann rauchts.
in der Dialog-Klasse steht ja
Code cpp:1 2
// Dialogfelddaten enum { IDD = IDD_DIALOG1 };
diese IDD ist in der resource.h definiert. Wenn ich resource.h einbinde wird das Projekt erfolgreich kompiliert.
Anschließend erstelle ich mir eine mfc-dialog-app und will diesen Dialog wie folgt sichtbar machen:
Code cpp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
typedef UINT ( * LPDLLFUNC)(CRuntimeClass**); LPDLLFUNC lpfnDllFunc = NULL; HINSTANCE hDLL = NULL; CDialog *dlg; hDLL = LoadLibrary("FX1.dll"); if(hDLL) { lpfnDllFunc = (LPDLLFUNC)::GetProcAddress(hDLL,"Init"); if (!lpfnDllFunc) { AfxMessageBox("Function not found in DLL"); FreeLibrary(hDLL); return; } CRuntimeClass* pNewViewClass; lpfnDllFunc(&pNewViewClass); ASSERT(pNewViewClass); dlg = (CDialog*)pNewViewClass; dlg->DoModal(); } else { AfxMessageBox("Dll not found!"); }
in der Zeile dlg->DoModal(); ist nun endgültig feierabend mit der Fehlermeldung:
. in der Zeile darüber sehe ich beim Debuggen, dass pNewViewClass->m_lpszClassName meiner selbstgeschriebenen Klasse entspricht. Ich vermute, dass es irgendwas mit den Ressourcen zu tun hat aber sicher bin ich mir auch nicht.Code c:1
Zugriffsverletzung bei lesen an Position sowieso
Hier gibts ein Beispielprojekt mit dem Problem:
Brauche Dringend Eure Hilfe.
Danke, Emu
-
Eieiei,... manchmal könnt man vom Glauben abkommen aber dann kommt doch wieder etwas Tunnel am Ende des Lichts

Obige Vorgehensweise funktioniert. Beim Anlegen beider Projekte ist auf gleiche Zeichensatz-kodierung Unicode/Multibyte zu achten. Ich habs jetzt mit Unicode und es läuft.
Nun können die Plugins kommen.
CU
Ähnliche Themen
-
MFC CDialog und seine Childs
Von russkij im Forum VisualStudio & MFCAntworten: 1Letzter Beitrag: 03.12.09, 16:10 -
Textfeld von CDialog ändern
Von chuqa im Forum VisualStudio & MFCAntworten: 3Letzter Beitrag: 26.06.07, 10:17 -
MFC Erweiterungs DLL - Probleme mit Resourcen
Von sTEk im Forum VisualStudio & MFCAntworten: 0Letzter Beitrag: 17.10.06, 00:16 -
CDialog als Child Window
Von anmae im Forum VisualStudio & MFCAntworten: 8Letzter Beitrag: 24.10.05, 10:05 -
CDialog und Menu
Von NinjaOne im Forum VisualStudio & MFCAntworten: 0Letzter Beitrag: 04.08.05, 15:31





Zitieren
Login






