超难问题,Delphi不同版本BPL/DLL与执行程序间调用的问题,如果有人能解决给100分,200分也行!(0分)

  • 主题发起人 主题发起人 WiseAnt
  • 开始时间 开始时间
W

WiseAnt

Unregistered / Unconfirmed
GUEST, unregistred user!
用Delphi5写的包如果用Delphi7写的执行程序调用就必死无疑,反过来也一样。
注:我说的是动态调用BPL。
有没有什么办法?
 
哥们,问题还没解决啊?不过这个问题可能很难解决。
 
我想有可能是无解的,连borland也未必可以,我只是有点不死心,如果有解的话,分不是问题。
 
把要调用的Delphi5的BPL的东西用Delphi5的DLL包装一下,然后在Delphi7中调用该DLL。
 
对了,通过DLL来调用BPL不就行了。
比如D7的工程调用D5的DLL,D5的DLL调用D5的BPL。
 
带上delphi 的vcl 库
 
to whynozg:
  Delphi5和Delphi7的同类包是不允许同时载入的,比如Vcl50、vcl70是不能共存的。

to再上面两位:
  理论上说,这样做是可以的,但局限太大,根本用不了。我以前是想用DLL做的,但发
现Delphi的不同版本之间的DLL,如果带的参数不是象int, PChar这类简单的数据类型的话
也是会出错的,比如我们经常将Application传给DLL中的接口,使DLL创建的窗口不出现在
任务条,而是相当于主程序本来就带的窗体,可是如果是不同的Delphi版本的话,这样做也
是会出错的。
  有没有更好的办法?

to All:
  感谢大家的参与!如果有解的话,大家都有分。
 
用 DLL 没错, 我的一个软件就是有 D5,6,7 的二十几个 Dll 组成的
非常稳定
 
老大们,dll是二进制的com,跟开发平台没关系了,只是跟操作平台有关系啊,别想了,
borland的版本是不会相同的,你看bcb6根本没法编译bcb5的东东啊,并且我想borland
不同版本不兼容也有其一定道理吧,因为它想多赚钱,呵呵:)
 
wiseant兄弟,可否把将功能模块化为
MDIChild放在DLL中的源代码 [[原创]] (DLL动态载入、ADO连接共享) 的这份资料
寄一份给我,谢谢!
 
我的MAIL是free_delphi@163.com
 
wiseant可否把将功能模块化为
MDIChild放在DLL中的源代码 [[原创]] (DLL动态载入、ADO连接共享) 的这份资料
寄一份给我(ocm2002@163.com),谢谢!
 
后退
顶部