VC动态链接库在Delphi下调用的问题

swweng 2005-04-20 10:10:04
我有一个VC编写的动态链接库(*.dll和*.lib),在Delphi下无论是用静态调用还是用动态调用,都不成功.请问可不可以在C/C++ 做什么之后调整,可以让Delphi 调用.


急急急
...全文
105 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
under 2005-05-10
  • 打赏
  • 举报
回复
stdcall
绝缘 2005-04-23
  • 打赏
  • 举报
回复
比如:
DLL:
int WINAPI FunName(int lParam){
......
}
调用端声明:
function FunName(lParam:integer):integer;stdcall;external'DllName.Dll'
绝缘 2005-04-23
  • 打赏
  • 举报
回复
这个要看调用约定!你把VC写的DLL中函数的声明贴出来看看!
一般的Windows中的DLL都用的是stdcall调用,这个调用参数从右到左进入,然后由函数清理栈,偶最喜欢这种方式了!!!!
xinqingbucuo 2005-04-22
  • 打赏
  • 举报
回复
路过,学习
beyondtkl 2005-04-21
  • 打赏
  • 举报
回复
還可以這樣。。

in C++

extern "C" declspec(dllexport) int __stdcall HelloDll(int i)
{
return (i+1);
}

調用
in delphi
functin HelloDll(i: Integer):Integer; stdcall; external in 'aa.dll' name 'HelloDll'; // 靜態調用
swweng 2005-04-21
  • 打赏
  • 举报
回复
exu(大脸猫) 你给的这些代码是在Delphi写还是在C写的啊
exu 2005-04-21
  • 打赏
  • 举报
回复
extern "C"
{
DWORD WINAPI dosomething(char * str)
{
//do some thing
return 1;
}
}
必须要extern "C"
还有最好在*.def中定义导出表
LIBRARY MYLIB
EXPORTS
dosomething
gzmhero 2005-04-20
  • 打赏
  • 举报
回复
加上stdcall。

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧