ich wollte eine DLL mit Resources und Funktionen, die als INCLUDE in einen Quelltext eingebunden funktionieren, erstellen.
Als reine Resource-DLL funkt das auch, ich kann die DLL mit LoadLibrary aufrufen und bekomme ein gültiges Handle zurück.
Mit Funktionen kann ich die DLL zwar erstellen, sowie in der EXE, die die DLL nutzen soll, jedoch auch nur eine DLL-Funktion aufgerufen wird, auch wenn das erste nach Menü-Auswahl erfolgen würde, fährt sich beim Assemblieren bereits der Editor fest und kann nur noch 'gewaltsam' beendet werden. Hier das Grundgerüst, das ich verwende:
Code: Alles auswählen
.486
.model flat,stdcall
option casemap:none
INCLUDE C:\masm32\instant\GlobInit.asm (da sind alle *.inc und *.lib-Aufrufe, die normalerweise benötigt werden, drin)
.const
(die Konstanten-Definitionen)
.data
.data?
.code
DllMain proc hInst:dword, dwNotification:DWORD, lpReserved:DWORD
.if dwNotification == DLL_PROCESS_ATTACH
m2m hInstance, hInst
mov eax, TRUE
.elseif dwNotification == DLL_PROCESS_DETACH
.elseif dwNotification == DLL_THREAD_ATTACH
.elseif dwNotification == DLL_THREAD_DETACH
.endif
ret
DllMain Endp
End DllMainCode: Alles auswählen
LIBRARY "sysex_panel"
EXPORTS
CreateButtonPan
CreateStaticPan
GetTextSize
InitPanelCtrl
OpenPanelCtrl
Panel_LVInsertColumn
Panel_LVInsertItem
Panel_LVProc
Panel_LVSetText
PanelCtrlProcBeim Assemblieren kommen die Meldungen:
TestWin.obj : error LNK2001 : unresolved external symbol _CreateButtonPan
TestWin.exe : fatal error LNK1120 : 1 unresolved externals
Kann mir jemand sagen, was da nicht stimmt?
Vielen Dank
Gruß Rainer