下面的代码取自SoftSnoop插件实例,编译后生成了DLL文件,可是在我的EXE中调用该DLL中的函数时确不成功。
TYPE
// SoftSnoop API prototypes
fPrint = PROCEDURE(szText : pchar); STDCALL;
fStartSSPlugin = FUNCTION() : boolean; STDCALL;
fShowError = FUNCTION(szText : pchar) : integer; STDCALL;
fAddPluginFunction = FUNCTION(szPName : pchar; pFunctAddr : fStartSSPlugin) : boolean; STDCALL;
fResumeProcess = PROCEDURE(); STDCALL;//--------------------------------------------------------
SSAPI = packed record
Print : fPrint;
ShowError : fShowError;
: :
: :
End ;
//--------------------------------------------------------
FUNCTION DlgProc(........) ;
BEGIN
这里是我的问题
pApi是一个指向SSAPI函数(过程)结构的指针
下面这行代码是如何实现的,我想在我的DLL中也采用这种方法
pApi.ShowError(Pchar('Plugin is already running !'));END;有那位朋友实现过这类功能,可否详细说明。先谢谢各位!
通常我们的函数(过程)是带有运行参数的。上面的例子中ShowError就是带参数的函数。其目的是将'Plugin is already running !'显示在一个对话框中。
但是我在用 pApi.ShowError(Pchar('Plugin is already running !')); <---SoftSnoop插件实例
确不能达到这样的目的。