社区
进程/线程/DLL
帖子详情
如何在VC中调用Delphi写的dll?
zjl3638656
2007-04-10 11:22:11
两中方法:
1.动态调用(50)
a.无参数无返回值
b.无参数有返回值
c.有参数有返回值
2.使用lib和头文件来调用(50)
给出用dll产生lib的工具
给出头文件中函数申明的格式(记的是VC调用Delphi写的dll哦)
今天登陆的验证码是:88888.幸运~~~~~
请大家发言,只要验证成功就会给分~
...全文
438
8
打赏
收藏
如何在VC中调用Delphi写的dll?
两中方法: 1.动态调用(50) a.无参数无返回值 b.无参数有返回值 c.有参数有返回值 2.使用lib和头文件来调用(50) 给出用dll产生lib的工具 给出头文件中函数申明的格式(记的是VC调用Delphi写的dll哦) 今天登陆的验证码是:88888.幸运~~~~~ 请大家发言,只要验证成功就会给分~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
珍惜生命远离CPP
2007-04-10
打赏
举报
回复
出错位置报什么错误?
是函数调用错误,还是非法操作.
zjl3638656
2007-04-10
打赏
举报
回复
顶上去,在线等呢,不过等下要去吃饭了
zjl3638656
2007-04-10
打赏
举报
回复
function VodInitCard : integer; stdcall;
是stdcall的吧,严格按照动态调用方法调用,还是出错
HINSTANCE dll;
int return_value;
typedef int(__stdcall *dll_fun)();
dll = ::LoadLibrary("MultVod.dll");
if(dll==NULL)
{
AfxMessageBox("Can't find dllFile");
return 0;
}
dll_fun proc = (dll_fun)GetProcAddress(dll,"VodInitCard");
if (proc = NULL)
{
AfxMessageBox("can't find function:VodInitCard");
return 0;
}
else
{
return_value = proc();//出错位置,前面都正确
return return_value;
}
有错误请指出,谢谢
珍惜生命远离CPP
2007-04-10
打赏
举报
回复
需要注意的是 函数调用方式 stdcall或者cdecl
参数个数和类型是调用成功的关键
所以必须只要原来函数在pascal中的声明.
静态调用就是调用api是一样的,包含头文件,和相应的lib.
zjl3638656
2007-04-10
打赏
举报
回复
恩,谢谢,楼上的回答,我也查了一些资料的,结果用动态调用的时候出现错误,有个初始化函数,有返回值没有参数的,按照动态调用的方法总是出现错误,静态调用的详细方法给个,或者给个地址我去看,谢了
ouyh12345
2007-04-10
打赏
举报
回复
调用delphi写的dll,注意的就是参数的类型
珍惜生命远离CPP
2007-04-10
打赏
举报
回复
动态调用容易
不过你得知道 函数在vc中相应的声明方式
简单的例子
typedef int (PASCAL *TYPE_MYFUN)(HWND,LPCTSTR,LPCTSTR,UINT);
TYPE_MYFUN MyFun;
HMODULE hUserDll=LoadLibrary("user32.dll");
MyFun=(TYPE_MYFUN)GetProcAddress(hUserDll,"MessageBoxA");
MyFun(0,"asdasd","aaa",0);
静态调用也容易
自己建立一个dll工程,按着导出函数的顺序依次添加函数,用def文件限定导出名字.
然后用这个dll工程生成的lib库 去做静态链接用.
不过同样得知道函数在vc中相应的声明方式
ps用工具声明的lib库似乎无法保证没有问题
CathySun118
2007-04-10
打赏
举报
回复
类型不一致吧
Delphi
调用
VC
DLL
演示
Delphi
调用
VC
DLL
参数传递
Qt.
VC
调用
delphi
编
写
的
dll
lib,详细方法
delphi
可以很方便的封装第三方库,导出
dll
,此方法可以很方便的生成供Qt或
VC
调用
的Lib文件,免去动态加载的麻烦,喜欢的朋友可以试下。我就是这么用的。
用
VC
#.NET开发交互式CAD系统
用
VC
#.NET开发交互式CAD系统,包括结合GDI+和OPENGL两种方案。 联系平台客服可开发票。
VC
调用
Delphi
DLL
Skin++ CinternetSession 异步
演示
VC
2008
调用
Delphi
XE
DLL
获取IP地址地理位置信息,文件还包涵Skin++破解级50多个SSK皮肤文件,以及最近做的一个网络刷票投票工具。
VC
/C#
调用
delphi
写
的
dll
, 演示如何进行类的传递并callback
调用
方的代码
VC
调用
Delphi
DLL
,并递交struct类型的参数 ,并于
dll
里面callback
VC
结构体里面的方法.
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章