solomonty
1st August 2003 05:13 UTC
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.
brainsucker
2nd August 2003 12:59 UTC
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.