I am trying to write Plugin for Rbase Turbo-8
Unfortunately it does not work
I run command PLUGINS rblmodule.rbl
but I do not see no results of plugin been loaded.
Can please anybody gimme any pointers or may be something I am doing obviosly
wrong,
here is my plugin source code:
// rblmodule.cpp : Defines the entry point for the DLL application.
//
#include "stdafx.h"
"stdafx.h"
#include "rblmodule.h"
"rblmodule.h"
#include "resource.h"
"resource.h"
#include "boris_log.hpp"
"boris_log.hpp"
#define RBL_PLUGIN_NAME "SDNA"
RBL_PLUGIN_NAME "SDNA"
#define RBL_PLUGIN_TYPE 101
RBL_PLUGIN_TYPE 101
#ifdef _MANAGED
_MANAGED
#pragma managed(push, off)
#endif
static HINSTANCE myInstanceHandle = NULL ;
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
{
myInstanceHandle = hModule ;
boris_log( "DLL-ATTACH\n" );
};
break;
}
return TRUE;
}
HINSTANCE myInstanceHandle = NULL ;
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
{
myInstanceHandle = hModule ;
boris_log( "DLL-ATTACH\n" );
};
break;
}
return TRUE;
}
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
{
myInstanceHandle = hModule ;
boris_log( "DLL-ATTACH\n" );
};
break;
}
return TRUE;
}
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
{
myInstanceHandle = hModule ;
boris_log( "DLL-ATTACH\n" );
};
break;
}
return TRUE;
}
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
{
myInstanceHandle = hModule ;
boris_log( "DLL-ATTACH\n" );
};
break;
}
return TRUE;
}
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
{
myInstanceHandle = hModule ;
boris_log( "DLL-ATTACH\n" );
};
break;
}
return TRUE;
}
case DLL_PROCESS_DETACH:
{
myInstanceHandle = hModule ;
boris_log( "DLL-ATTACH\n" );
};
break;
}
return TRUE;
}
"DLL-ATTACH\n" );
};
break;
}
return TRUE;
}
break;
}
return TRUE;
}
return TRUE;
}
#ifdef _MANAGED
_MANAGED
#pragma managed(pop)
#endif
// This is an example of an exported variable
RBLMODULE_API int nrblmodule=0;
int nrblmodule=0;
// This is an example of an exported function.
RBLMODULE_API int fnrblmodule(void)
{
return 42;
}
int fnrblmodule(void)
{
return 42;
}
return 42;
}
// This is the constructor of a class that has been exported.
// see rblmodule.h for the class definition
Crblmodule::Crblmodule()
{
return;
}
return;
}
// procedure GetRBPluginName(Value : PChar); stdcall;
RBLMODULE_API void __stdcall GetRBPluginName( char* plugin_name_out )
{
boris_log( "GetRBPluginName\n" );
strcpy( plugin_name_out , RBL_PLUGIN_NAME );
MessageBox( GetActiveWindow(),"Zdes bil Vasys.",
"RBLMODULE.RBL....GetRBPluginName" , MB_OK );
}
void __stdcall GetRBPluginName( char* plugin_name_out )
{
boris_log( "GetRBPluginName\n" );
strcpy( plugin_name_out , RBL_PLUGIN_NAME );
MessageBox( GetActiveWindow(),"Zdes bil Vasys.",
"RBLMODULE.RBL....GetRBPluginName" , MB_OK );
}
"GetRBPluginName\n" );
strcpy( plugin_name_out , RBL_PLUGIN_NAME );
MessageBox( GetActiveWindow(),"Zdes bil Vasys.",
"RBLMODULE.RBL....GetRBPluginName" , MB_OK );
}
"Zdes bil Vasys.",
"RBLMODULE.RBL....GetRBPluginName" , MB_OK );
}
"RBLMODULE.RBL....GetRBPluginName" , MB_OK );
}
// function GetRBPluginType : integer; stdcall;
RBLMODULE_API int __stdcall GetRBPluginType()
{
boris_log( "GetRBPluginType\n" );
MessageBox( GetActiveWindow(),"Zdes bil Vasys.",
"RBLMODULE.RBL....GetRBPluginType" , MB_OK );
return RBL_PLUGIN_TYPE ;
}
int __stdcall GetRBPluginType()
{
boris_log( "GetRBPluginType\n" );
MessageBox( GetActiveWindow(),"Zdes bil Vasys.",
"RBLMODULE.RBL....GetRBPluginType" , MB_OK );
return RBL_PLUGIN_TYPE ;
}
"GetRBPluginType\n" );
MessageBox( GetActiveWindow(),"Zdes bil Vasys.",
"RBLMODULE.RBL....GetRBPluginType" , MB_OK );
return RBL_PLUGIN_TYPE ;
}
"Zdes bil Vasys.",
"RBLMODULE.RBL....GetRBPluginType" , MB_OK );
return RBL_PLUGIN_TYPE ;
}
"RBLMODULE.RBL....GetRBPluginType" , MB_OK );
return RBL_PLUGIN_TYPE ;
}
return RBL_PLUGIN_TYPE ;
}
// function StartRBPlugin(Params : PChar) : PChar; stdcall;
RBLMODULE_API char* __stdcall StartRBPlugin( char* params )
{
boris_log( "StartRBPlugin\n" );
MessageBox( GetActiveWindow(),"Zdes bil Vasya.",
"RBLMODULE.RBL....StartRBPlugin" , MB_OK );
return 0 ;
}
char* __stdcall StartRBPlugin( char* params )
{
boris_log( "StartRBPlugin\n" );
MessageBox( GetActiveWindow(),"Zdes bil Vasya.",
"RBLMODULE.RBL....StartRBPlugin" , MB_OK );
return 0 ;
}
"StartRBPlugin\n" );
MessageBox( GetActiveWindow(),"Zdes bil Vasya.",
"RBLMODULE.RBL....StartRBPlugin" , MB_OK );
return 0 ;
}
"Zdes bil Vasya.",
"RBLMODULE.RBL....StartRBPlugin" , MB_OK );
return 0 ;
}
"RBLMODULE.RBL....StartRBPlugin" , MB_OK );
return 0 ;
}
return 0 ;
}
// function GetGetBitmap : THandle; stdcall;
RBLMODULE_API HBITMAP __stdcall GetGetBitmap()
{
HBITMAP ret = LoadBitmap( myInstanceHandle, MAKEINTRESOURCE(IDB_BITMAP1) );
return ret ;
}
__stdcall GetGetBitmap()
{
HBITMAP ret = LoadBitmap( myInstanceHandle, MAKEINTRESOURCE(IDB_BITMAP1) );
return ret ;
}
return ret ;
}