关于VC写的DLL在Delphi调用的问题
我用VC6做了一个基于MFC的DLL,只做了一个函数如下:
DWORD __stdcall CPlugin_VC6App::PluginVersion(),并且在.DEF文件中已经导出。
在DELPHI中我这样写(代码不太准确,大家看明白意思就行):
TPluginVersion = function():DWORD;stdcall;
PluginVersion: TPluginVersion;
pUnknown: TFarProc
pUnknown := GetProcAddress(hPluginFile, PChar('PluginVersion'));
if nil <> pUnknown then
PluginVersion := TPluginVersion(pUnknown);
然后我调用PluginVersion函数就会出错,但是如果把双方的调用方式全部换成__cdecl就OK了,很让我费解。各位大侠能否帮我解决一下这个问题呢,我必须用stdcall方式的。