Basis of a new plugin » History » Revision 2
Revision 1 (arkeon, 04/29/2011 07:33 PM) → Revision 2/4 (iri, 07/01/2011 12:24 AM)
h1. Basis of a new plugin (on MS Windows)
All Scol types and functions are defined in the file header "scol.h", we make these features available including this file.
<pre>
#include <scol.h>
</pre>
To initialize the Scol virtual machine, you must add the following line (the variable must be called absolutely "ww ", the latter being used by all functions of the SDK).
<pre>
//!Scol machine declaration for MM macros
cbmachine ww;
</pre>
Each plugin needs a function of loading and unloading. These functions are called by the Scol virtual machine, they have a signature set.
<pre>
/*!
* \brief Starting point of the DLL
*/
extern "C" __declspec (dllexport)
int SCOLloadTemplate(mmachine m, cbmachine w)
{
// Initializing SDK
SCOLinitplugin(w);
// Get Scol window handle (for message callback)
HScol = (HWND)SCgetExtra("hscol");
// Display debug message
MMechostr(MSKDEBUG,"Loading Template DLL ...\n");
return 0;
}
/*!
* \brief Ending point of the DLL
*/
extern "C" __declspec (dllexport)
int SCOLfreeTemplate()
{
// Display debug messages
MMechostr(MSKDEBUG, "Template DLL CLOSED...\n\n" );
return 0;
}
</pre>
To add the plugin to the environment Scol must map the name of the functions of loading and unloading in the file "usm.ini"
<pre>
plugin plugins/template.dll SCOLloadTemplate SCOLfreeTemplate
</pre>