dll重新编译,exe是否需要重新编译?

tdcq123 2008-02-26 09:34:09
dll重新编译后,难道原来的 可执行文件 必须重新编译才能用吗?
-------------------------------------------------------
请教一下,用dll,有这样的问题,
如果你的dll升级了,然后单独将这个dll拷到客户的机器上,会发现原来的程序根本无法使用了,必须将原来的可执行文件程序重新编译才能用,如何解决这个问题呀.
因为我想做一个通用的dll,里面的函数会不断增加,但是有些固定的函数是不会变的.但是重新编译dll后,调用它的可执行文件都要重新编译,这一点太不方便了.
我想实现,我把升级的dll拷到客户的机器中,覆盖老的dll,原来的可执行文件程序可以正常运行,可以实现吗?
谢谢.
...全文
320 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lbkbox 2008-03-02
  • 打赏
  • 举报
回复
在工程选项里
IamDeane 2008-03-02
  • 打赏
  • 举报
回复
没有问题,可以使用
tdcq123 2008-03-01
  • 打赏
  • 举报
回复
就是编译DLL时把自动升级前的沟去掉
-------------------------
这个钩是什么意思?
"升级 activex 控件",打上钩的作用是什么.不太明白
lbkbox 2008-03-01
  • 打赏
  • 举报
回复
只要接口没有改变,再一个就是编译DLL时把自动升级前的沟去掉,exe就不必重新编译
XinJW 2008-02-26
  • 打赏
  • 举报
回复
动态调用,

Private Declare Function MyFuction Lib "userdll.dll" (ByVal IntA As Long, ByVal IntB As Long, ByRef IntC As Long, ByRef IntD As Long) As Long
ziqing_1_2_3 2008-02-26
  • 打赏
  • 举报
回复
二进制兼容,exe就不必重新编译。
熊孩子开学喽 2008-02-26
  • 打赏
  • 举报
回复
楼上都对,我来接分
tdcq123 2008-02-26
  • 打赏
  • 举报
回复
只要接口没有改变,exe就不必重新编译。
------------
必须二进制兼容才行.
iceriver_1980 2008-02-26
  • 打赏
  • 举报
回复
只要接口没有改变,exe就不必重新编译。
嗷嗷叫的老马 2008-02-26
  • 打赏
  • 举报
回复
具体定义我也不清楚,我是个半路出家的....

按我的理解,"接口"就是以"方法,属性,事件"进行描述的一个"东西"....

只要这个"东西"(也许称为"对象"?)的方法,属性,事件没有变化,就行了

至于你在相应的方法里面写没写实现代码,那是另一回事了
tdcq123 2008-02-26
  • 打赏
  • 举报
回复
谢谢一楼,您说的接口是不是就是指定义的public属性
嗷嗷叫的老马 2008-02-26
  • 打赏
  • 举报
回复
接口必须相同

然后在编译时选择"二进制兼容"

如果无法一次写完所有函数,也得要写完所有接口,以后再补实现代码.

就是说,DLL一定要在"外观"上面"看起来是一样的"

要不然就不要采用ActiveX DLL,而使用WINDOWS那种API式DLL

另外,貌似也有一种思路,就是在DLL里设计一种查询接口,从这个接口里面得到你新加的函数指针,再用特殊方法调用.....

但是这难度~~~~呃~~反正祝你好运:)

7,762

社区成员

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

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