如何在VC中使用用DELPHI编写的DLL,巨多分!(排除动态加载)

ZLLDJH 2000-06-05 06:36:00
最好有在头文件中的详细声明!
...全文
241 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xgwubit 2000-07-28
  • 打赏
  • 举报
回复
1。 先将xxx.dll拷贝到VC的Bin目录下,用lib /DEF:xxx.dll ,如系统报告缺少什么文件,你用文件查找找出,拷贝到bin目录下,再用lib /DEF:xxx.dll,可以得到xxx.lib文件。
2。 用C语言写xxx.h ,将函数原型一一写出,注意要用extern"C" __declspec(dllimport) FName( var list);

3。 将xxx.lib加入需要Project Setting->LinkObject/Library Modules里,注意把xxx.lib 拷贝到你的指定目录下
4. 在vc中即可用dll中的函数
leemingsong 2000-07-28
  • 打赏
  • 举报
回复
好久以前你说:“Delphi的lib库与C是可以通用的,不要用DCU,在工程里设一下就可以了。”能再明白些吗?
halfdream 2000-06-10
  • 打赏
  • 举报
回复
可以用VC的LIB.exe 生成引入库
lib /DEF:defname.def

halfdream 2000-06-08
  • 打赏
  • 举报
回复
ZLLDJH, 不能用BCB中的implib , 它生成的引入库格式同VC中用的引入库格式不同。
用BCB中的impdef.exe 产生的DEF 是文本文件,那该没有什么兼容性问题。
softdoctor 2000-06-07
  • 打赏
  • 举报
回复
Delphi的lib库与C是可以通用的
不要用DCU,在工程里设一下就可以了。
这正是 Borland 的高明之处
halfdream 2000-06-07
  • 打赏
  • 举报
回复
1,Delphi 的引入库,VC是直接用不得的。两者格式不同。
倒是可以用impdef.exe 来产生DEF文件,在必要的地方还要作一下改动。
2,Delphi DLL 的导出函数应该用C方式声明。VC 中自然要对应声明。
3,查看产生DEF文件内容,看看函数名称与你调用时的声明是不是相同。
至于,函数导入声明倒是好办。
类似
extern"C" __declspec(dllimport) FName();
遇到其它问题再具体说。
softdoctor 2000-06-07
  • 打赏
  • 举报
回复
如果使用静态连接的话,将该库的.lib文件考过来,
在VC下用C重新写一下dll输出的各函数的声明。

当然,如果有字符串参数的话一定要用PCHAR类型(在DELPHI)中

最后别忘了将.lib加入
Project Setting->Link
Object/Library Modules里
ZLLDJH 2000-06-07
  • 打赏
  • 举报
回复
在DELPHI中并没有提供IMPDEF,IMPLIB这样的工具但CB有。我用IMPLIB产生对应DLL的LIB文件后在VC中加入但VC提示“fatal error LNK1136: invalid or corrupt file”
可不可以讲的再详细一点!
Elephant 2000-06-06
  • 打赏
  • 举报
回复
用LoadLibrary不行吗?
sanhan 2000-06-06
  • 打赏
  • 举报
回复
入口库可能会有问题。
kxy 2000-06-05
  • 打赏
  • 举报
回复
不明白.
你会调用VC写的dll吗?
一样的.
Firing_Sky 2000-06-05
  • 打赏
  • 举报
回复
在VC中使用用DELPHI编写的DLL,声明方式和声明别的DLL没什么差别啊!
只是要注意的是,在Delphi的DLL中的函数要使用通用接口,如(PChar,对应VC中的char *)等,如果用了Delphi特有的数据类型,如String,用VC调用就可能出问题

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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