ActiveX(ActiveForm)的自动更新问题?

NightCloud 2001-02-23 11:52:00
用ActiveForm做的Ocx控件发布到客户端之后,如果该Activform我又做了修改,形成一个新版本,那么如何实现客户端的自动下载最新版本
...全文
129 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
TechnoFantasy 2001-02-23
  • 打赏
  • 举报
回复
你是使用cab压缩方式还是直接的ocx文件方式?
www.applevb.com
zsr 2001-02-23
  • 打赏
  • 举报
回复
<object>中有一个控制版本的区域,将其设为-1.
TechnoFantasy 2001-02-23
  • 打赏
  • 举报
回复
在使用CAB压缩方式分布控件时我们会发现一个问题:有时候服务器控件更新了,但是客户端浏览器显示的还是老版本的控件。即使在工程的设置中同时选择了“include version information”项、"auto-increment build number" 以及 "auto-increment release number"项也是如此。上面已经将过了,在选择使用CAB方式分发控件时,Delphi会产生一个Inf文件并将文件连接放在生成的页面中:

<OBJECT
classid="clsid:6D58BC3F-1048-4F16-84CF-60BDD1BDE3BC"
codebase="http://192.168.0.227/Delphiroot/SampAFProj1.inf"
width=457
height=140
align=center
hspace=0
vspace=0
>

让IE根据inf文件来安装控件。
问题在于,当IE处理到<OBJECT>节的codebase句时,仅仅是察看codebase句指向的文件的版本是否是新的。造成了即使安装文件SampAFProj1.inf中的控件是新的,IE也不会更新。
我们可以手工给inf文件添加一个“版本号”来强迫IE更新安装,例如上面的<OBJECT>节就可以改为:

<OBJECT
classid="clsid:6D58BC3F-1048-4F16-84CF-60BDD1BDE3BC"
codebase="http://192.168.0.227/Delphiroot/SampAFProj1.inf#version=1,0,4,2"
width=457
height=140
align=center
hspace=0
vspace=0
>

然后在每一次服务器端的控件改变以后,只要手工更改inf文件的“版本号”就可以使客户端的控件自动更新了。
NightCloud 2001-02-23
  • 打赏
  • 举报
回复
各位大虾,请不吝赐教,将感激不尽
NightCloud 2001-02-23
  • 打赏
  • 举报
回复
to zsr 我的html的<object>中没有这个区域,怎么做?
to TechnoFantasy ,我用的是cab压缩方式
谢谢俩位大虾的关注

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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