Archive: System plugin


System plugin
I am trying to call a function in my DLL which has the following signature
void MyFunction()

and I am using the following call
System::Call 'MyDll::MyFunction(v) v'

It doesn't appear to be making the call.
Is that the proper syntax?
How can I diagnose the problem?

Thanks.


Are you compiling your dll from C or C++ source? C++ compiler decorates names (you could look for them thru your dll, they usually look like ?FunctionName@AVBXX). Use .def file, or declare your function as
extern "C" int function();

If this is not the problem, check if your dll available to installer (it can easily find it at windows/system folder or at folder it run from).

Also if you are planning to pass parameters to functions don't forget C and C++ use cdecl convention by default, and system plugin defaults to stdcall. you could either manualy change your function convention using __stdcall or __cdecl, or give a cdecl hint to system using "?c" option.