-----Original Message----- From: [email protected] To: [email protected] Sent: Wed, Nov 4, 2009 8:19 pm Subject: [RBASE-L] - Plugins... 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 ; }

