Здравствуйте, bel_nikita, Вы писали:
_>Скомпилил ДЛЛ и Либу:
_>LaserScanner.cpp
_>_>BOOL APIENTRY DllMain( HANDLE hModule,
_> DWORD ul_reason_for_call,
_> LPVOID lpReserved
_> )
_>{
_> switch (ul_reason_for_call)
_> {
_> case DLL_PROCESS_ATTACH:
_> //MessageBox(GetFocus(),"asdasdadadasd","3453355",MB_OK);
_> break;
_> case DLL_THREAD_ATTACH:
_> break;
_> case DLL_THREAD_DETACH:
_> break;
_> case DLL_PROCESS_DETACH:
_> MessageBox(GetFocus(),"Closing Dll","DETACH",MB_OK);
_> break;
_> }
_> return TRUE;
_>}
_>
_>В аппликации делаю следующие:
_>_>#include ".\LaserScanner\LaserScanner.h"
_>#ifdef _DEBUG
_> #pragma comment(lib,".\\LaserScanner\\Debug\\LaserScanner.lib")
_>#else
_> #pragma comment(lib,".\\LaserScanner\\Release\\LaserScanner.lib")
_>#endif
_>...
_>LaserScannerSomeFunction(TRA_LA_LA);
_>...
_>
_>Итересует в какой момент происходит загрузка ДЛЛ и выгрузка?
_>Если загрузка работает, т.е. ДЛЛ загружается и LaserScannerSomeFunction выполняется, то вот с выгрузкой проблемы
. MessageBox — никогда не выкидывается. Как произвести выгрузку ДЛЛ?
_>З.Ы.: или вообще чушь порю?
Если я не ошибаюсь, то когда ты подключаешь dll таким образом (через lib файл) то загрузка происходит перед(

) запуском программы, а выгрузка после её завершения (наверное как мусор чистится). Если желаешь их выгружать попробуй писать:
HMODULE LoadLibrary(
LPCTSTR lpFileName
);
и
FARPROC GetProcAddress(
HMODULE hModule,
LPCSTR lpProcName
);
и
BOOL FreeLibrary(
HMODULE hModule
);