Witam,
dzisiaj mam problem z wykorzystaniem funcji jaką wsadziłem do biblioteki łączonej dynamicznie (dll). Oto kody źródłowe biblioteki:
-dllmain.cpp
#include
#include "dll.h"
BOOL WINAPI DLLMain(HANDLE hModule,DWORD ul_readon_for_call, LPVOID lpReseved){
MessageBox(0, "dll", "dll", MB_OK);
return TRUE;
}
DLLEXPORT void kupa(){
MessageBox(0, "cos", "sos innego", MB_OK);
}
-
dll.h
#pragma once
#include
#ifdef _cdlusplus
#define DLLEXPORT extern “C” _declspec(dllexport)
#else
#define DLLEXPORT _declspec(dllexport)
#endif // _cplusplus
DLLEXPORT void kupa();
A oto fragment kodu, który wywołuje moją funkcję zawartą w pliku dll
HINSTANCE dll = LoadLibrary("Project1.dll");
if (dll==0)
MessageBox(hwnd, "lol", "nie wyszło", MB_OK);
else{
typedef void (*LPFRT)();
LPFRT funkcja=0;
funkcja=(LPFRT)GetProcAddress(dll, "kupa");
funkcja();
FreeLibrary(dll);}
W momencie kiedy wykonywana jest instrukcja “funkcja();”, system mi wywala błąd i program się wyłancza Jak to zmienić?