Hej Kasper!
Kan se at du bruger min kode fra
http://udvikleren.dk/C/Thread.aspx/1/18212/. Det er en god skik at få lukket sine andre tråde omkring samme emne før man åbner et nyt. Du kunne vælge at give points til mig eller Bertel Brander.
Dit problem er at du kun har én cfunc.
Prøv at "lave" flere.
// DLL
#ifndef myDLL
#define myDLL
#include <iostream>
extern "C" __declspec(dllexport) void HejFraDLL1()
{
std::cout << "Hej fra DLL1" << std::endl;
}
extern "C" __declspec(dllexport) void HejFraDLL2()
{
std::cout << "Hej fra DLL2" << std::endl;
}
#endif
// C++
#include <iostream>
#include <windows.h>
typedef void(WINAPI *cfunc)();
cfunc HejFraDLL1;
cfunc HejFraDLL2;
int main()
{
HINSTANCE hLib = LoadLibrary("COMdll.dll");
if(hLib == NULL)
{
std::cout << "Error: 1" << std::endl;
return -1;
}
HejFraDLL1 = (cfunc)GetProcAddress((HMODULE)hLib, "HejFraDLL1");
if(HejFraDLL1 == NULL)
{
std::cout << "Error: 1" << std::endl;
FreeLibrary((HMODULE)hLib);
return -1;
}
HejFraDLL1();
HejFraDLL2 = (cfunc)GetProcAddress((HMODULE)hLib, "HejFraDLL2");
if(HejFraDLL2 == NULL)
{
std::cout << "Error: 1" << std::endl;
FreeLibrary((HMODULE)hLib);
return -1;
}
HejFraDLL2();
FreeLibrary((HMODULE)hLib);
system("PAUSE");
return 0;
}
Skal siges at jeg selv ikke er alt for fiks med de DLL-filer, da jeg endnu ikke haft brug for dem. Der er derfor sikkert en bedre metode, som jeg ikke umiddelbart ikke kender. Men held og lykke med det!