Всем привет.
Промучался весь день. Сдвига нет.
Код: Выделить всё
#include <windows.h>
#include <string.h>
struct sPluginInfo
{
char strPluginName[255];
char strPluginDescription[255];
char strPluginVersion[255];
};
struct sBotUserInfo
{
char strBotName[255];
char strBotPassword[255];
bool bIsFemale;
};
DWORD dwPluginID;
typedef BYTE __stdcall (*typeCommFortProcess)(DWORD dwPluginID, DWORD dwMessageID, BYTE * bMessage, DWORD dwMessageLength);
typeCommFortProcess CommFortProcess;
extern "C" __declspec(dllexport) BYTE PluginInit(DWORD dwThisPluginID, sPluginInfo *plInfo, sBotUserInfo *botInfo, typeCommFortProcess);
extern "C" __declspec(dllexport) BYTE PluginTerminate();
extern "C" __declspec(dllexport) BYTE PluginProcess(DWORD dwMessageID, BYTE * bMessage, DWORD dwMessageLength);
extern "C" __declspec(dllexport) void PluginShowOptions();
extern "C" __declspec(dllexport) void PluginShowAbout();
//---------------------------------------------------------------------------
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
//---------------------------------------------------------------------------
void ShowMessage(char * msg)
{
MessageBoxA(0, msg, "DLL Message", MB_OK | MB_ICONINFORMATION);
}
//---------------------------------------------------------------------------
BYTE PluginInit(DWORD dwThisPluginID, sPluginInfo *plInfo, sBotUserInfo *botInfo, typeCommFortProcess func1)
{
dwPluginID = dwThisPluginID;
strcpy(plInfo->strPluginName,"myPlugin");
strcpy(plInfo->strPluginDescription,"myPlugin description");
strcpy(plInfo->strPluginVersion,"4.40");
strcpy(botInfo->strBotName,"user");
strcpy(botInfo->strBotPassword,"pass");
botInfo->bIsFemale = false;
CommFortProcess = func1;
(*CommFortProcess)(dwPluginID,41,NULL,0);
return 0;
}
//---------------------------------------------------------------------------
BYTE PluginTerminate()
{
return 0;
}
//---------------------------------------------------------------------------
BYTE PluginProcess(DWORD dwMessageID, BYTE * bMessage, DWORD dwMessageLength)
{
if(dwMessageID==5)
{
ShowMessage("Ok");
}
if(dwMessageID == 91)
{
ShowMessage("debug1");
Sleep(10000);
}
return 0;
}
//---------------------------------------------------------------------------
void PluginShowOptions()
{
ShowMessage("Options");
}
//---------------------------------------------------------------------------
void PluginShowAbout()
{
ShowMessage("About");
}
//---------------------------------------------------------------------------
компилирует MinGW.
Выходную либу проверяю в DEPENDS имена не декорируются.
Проблема типична работают кнопки настройка и описание. Запуск не происходит. Ставил MsgBox в функцию инициализации. Работает...
Посмотрите по коду где ошибка?