在delphi里调用c++ Builder写的DLL问题:无法定位程序输入点Test于动态链接库MyDll/MyDll.dll(20分)

  • 主题发起人 主题发起人 fjhst
  • 开始时间 开始时间
F

fjhst

Unregistered / Unconfirmed
GUEST, unregistred user!
我快被这个鸡毛小问题搞死了!

我在c++Builder做了一个DLL(MyDll.dll):
...
extern "C" __declspec(dllexport) int Test(int x);
...
int Test(int x)
{
ShowMessage("****!!!");
return 3;
}

然后再delphi里调用:
...
function Test(x: Integer):Integer;stdcall;external 'MyDll/MyDll.dll';
...
//调用
...
Test(3);
...

运行, 出错:无法定位程序输入点Test于动态链接库MyDll/MyDll.dll?

啊啊啊!我死了!帮我一下吧!

MyDll.dll文件以拷贝到相应目录下了。。。
 
把MyDll.dll移动到程序运行的目录中(干吗是MyDll/MyDll.dll?),试试看
 
'MyDll/MyDll.dll' 应该改成 'MyDll.dll'
而且dll应该放在当前目录,或者其他path变量包含的目录,
另外bcb里面也应该使用_stdcall定义Test
 
哈哈!我自己搞定了!
在c++Builder中应该是这样:
...
extern "C" int _stdcall Test(int x);
...
int _export _stdcall Test(int x)
{
ShowMessage("****!!!");
return 3;
}
 
呵呵!谢谢两位!散分!
 
好!谢谢各位!结贴!散分!我也要扬名大富翁!

远帆!以后我们再联系哦!
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部