有没人试过用VC写其中有class的DLL,然后用C++BUILDER来调用呢?是否CB不可以调用?

Chxis 2002-09-03 10:15:06
如果可以,请教教我,或发个简单例子给我(juco11@21cn.com)

分不够可以再加!

多谢!
...全文
29 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
asdfsdfrewrwesr 2002-09-04
  • 打赏
  • 举报
回复
用VC写的DLL 需要使用BCB自带的工具,转换接口才能用的。具体我忘记了。 这个工具在BCB的安装目录下面有的。 好像是要生成什么.Lib文件。 ^^
julia2000 2002-09-04
  • 打赏
  • 举报
回复
我也遇到过类似问题,试过了静态调用的各种方法都不行,最后采用动态调用可以。
typedef int (PASCAL *p_720_Initial)(int, int);//定义函数指针
p_720_Initial inial;//
HINSTANCE Handle;
Handle=LoadLibrary("c:\\Windows\\System\\720.DLL");//取得DLL地址
inial=(p_720_Initial)::GetProcAddress(Handle,"W_720_Initial");//取得函数地址
这样,inial函数就可直接调用了

荷叶小蛙 2002-09-04
  • 打赏
  • 举报
回复
我也正为这件事苦恼。

implib

coff2omp -lib:ms
都试过。好像都不行。

类的成员函数 编译后的内部命名好像依赖与编译器。 ??

child_bj 2002-09-04
  • 打赏
  • 举报
回复
动态调用就是不用LIB,而是用LOADLIBRARY函数。

我记得在BCB的DLL中如果用到类的话,其中的成员函数必须定为虚函数。
Chxis 2002-09-04
  • 打赏
  • 举报
回复
我有用过implib来生成lib但是在调用时发生仍然有
[Linker Error] Unresolved external 'myClass::myClass()' referenced from F:\test\UNIT1.OBJ


的错误,怎么解决呢?

to: quickbasic(肖军)
怎么个动态调用法呢?
Hopping 2002-09-04
  • 打赏
  • 举报
回复
bcb的LIB和VC的LIB的格式是不一样的,因此不能混用。但如是VC写的DLL,则可用BCB的bin目录下的implib为DLL生成BCB的LIB,在使用时没太大区别
Chxis 2002-09-04
  • 打赏
  • 举报
回复
好了,
就到此为止吧

thanks all
  • 打赏
  • 举报
回复
在VC和BCB只见要直接相互使用导出类,可以认为是不可能的。
不能导出类的原因有很多。
除了众所周知的名字分解(mangling)不是一个标准过程之外,
还有很多其他的原因。
VC和BCB的复杂的编译器开关选项就是其中之一。
还有零长度成员函数的大小处理,
成员变量的对齐方式,
以至内存管理,等等等等。
所以除了使用COM,在两个编译器之间要直接导出类几乎是不可能的.:(
ThinkX 2002-09-04
  • 打赏
  • 举报
回复
用com吧,否则应该不行。因为导出类也许在各个编译器下的二进制结构是不同的,目前有二进制标准的是C方式DLL,和COM方式DLL。
Chxis 2002-09-04
  • 打赏
  • 举报
回复
thanks,
但我所要的是调用dll中的类,不是函数,该怎么办?
kernelspirit 2002-09-04
  • 打赏
  • 举报
回复
继续啊,好像就是有问题!
advanced 2002-09-03
  • 打赏
  • 举报
回复
我写过BCB的dll包含class BCB可以调用,VC肯定没问题。
quickbasic 2002-09-03
  • 打赏
  • 举报
回复
是可以调用的,用动态调用DLL函数的方法就可以了!
================================================================

CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!

★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。

★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。

Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]

maxying 2002-09-03
  • 打赏
  • 举报
回复
理论上就算你用VB写得Dll,CB也是可以调用的,只是看你用VC写dll的时候怎么规定格式了,然后在CB中用LoadLibrary载入,好像是这个函数记不大清了。。。
Chxis 2002-09-03
  • 打赏
  • 举报
回复
我好象知道一点了,
可能直接使用是不行的,要进行修改
方法:
1.把C++改为C
2.用com

这是否正确呢?
请大家解答一下
梦回童年001 2002-09-03
  • 打赏
  • 举报
回复
观注

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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