要在IE中自动下载更新ocx,至少需要两个条件:
1、IE的安全级别设置允许下载
2、要更新的文件没有运行,不可能覆盖一个正在运行的文件的
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”等字样,删除它们';
I.Desire := '加不加分随你';
—————————————————————————————————
1、IE的安全级别设置允许下载
2、要更新的文件没有运行,不可能覆盖一个正在运行的文件的
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”等字样,删除它们';
I.Desire := '加不加分随你';
—————————————————————————————————
解决方案 »
- 问个数学题
- delphi7安装问题
- 请问如何升级Delphi 6 中的ADO啊?(在线等待)
- FASTREPORT的一个字段长度问题?
- 数组类型的用法
- ------请教高高手,可否得知StringGrid被滚动或拖动后所显示的第一行的行号?------
- QQ群:“潍坊程序员俱乐部”:5778839;欢迎高手加入。
- 请问高手:直接转到指定的记录应该怎么写?如转到第5条记录,table1.?
- 怎么判断TreeView控件当前在哪个节点呀!!
- 关于session.AddStandardAlias('bc',getcurrentdir,'paradox')??????
- 谁有UTF-8<=>GB2312的Delphi源码?
- 能连续执行吗?
那么inf中的版本号一定也要1,0,10,0
再就是调用OCX的网页一定要如下写:
<OBJECT
classid="clsid:XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX"
codebase="http://xxxxxx/aaaa.cab#version=1,0,10,0"
width=215
height=50
align=center
hspace=0
vspace=0
>
网页里的版本号要自己手工加入的。
我上面举例是没有INF的情况。
如果使用INF就没必要写版本号了。
我现在的问题是:第一次它能自动下载;但以后即使我的ocx的版本改变了,但IE中还是运行的是旧版本的ocx,并且下载到XXX\Downloaded Program Files目录的ocx控件版本没有改变。
我现在由于此ocx控件下载时要同时下载一些DLL及其它一些ocx控件(注:这些ocx控件连第一次也没有下载成功),我的网页如下(注:在inf后面加上了版本号):
<HTML>
<H1> Delphi 5 ActiveX Test Page </H1><p>
You should see your Delphi 5 forms or controls embedded in the form below.
<HR><center><P>
<OBJECT
classid="clsid:88B46A9A-9E7F-4448-BD55-1CA2BE7348EA"
codebase="http://132.147.161.73/WebDir/axGDEntry.inf#version=1,0,23,23"
width=570
height=56
align=center
hspace=0
vspace=0
>
</OBJECT>
</HTML>********************
我的Inf文件如下:;Delphi-generated INF file for axGDEntry.ocx
[Add.Code]
axGDEntry.ocx=axGDEntry.ocx
vcl50.bpl=vcl50.bpl
borlndmm.dll=borlndmm.dll
dclocx50.bpl=dclocx50.bpl
Parm.dll=Parm.dll
vclmid50.bpl=vclmid50.bpl
vcldb50.bpl=vcldb50.bpl
SysLib.bpl=SysLib.bpl
axGDApplicationLib.bpl=axGDApplicationLib.bpl
axGdClaimLib.bpl=axGdClaimLib.bpl
axGdEdrLib.bpl=axGdEdrLib.bpl
axRecvPayLib.bpl=axRecvPayLib.bpl
axSzPrintLib.bpl=axSzPrintLib.bpl
axTDApplicationLib.bpl=axTDApplicationLib.bpl
axTdCXLib.bpl=axTdCXLib.bpl
axTdEdrLib.bpl=axTdEdrLib.bpl
axCommonLib.bpl=axCommonLib.bpl
axLogin.ocx=axLogin.ocx
axTdRegSubPlc.ocx=axTdRegSubPlc.ocx[axGDEntry.ocx]
file=http://132.147.161.73/WebDir/axGDEntry.ocx
clsid={88B46A9A-9E7F-4448-BD55-1CA2BE7348EA}
FileVersion=1,0,33,36
RegisterServer=yes
DestDir=11[vcl50.bpl]
file=http://132.147.161.73/WebDir/vcl50.bpl
FileVersion=5,0,6,18
RegisterServer=yes
DestDir=11[borlndmm.dll]
file=http://132.147.161.73/WebDir/borlndmm.dll
FileVersion=5,0,6,18
RegisterServer=yes
DestDir=11[dclocx50.bpl]
file=http://132.147.161.73/WebDir/dclocx50.bpl
FileVersion=5,0,6,18
RegisterServer=yes
DestDir=11[Parm.dll]
file=http://132.147.161.73/WebDir/Parm.dll
FileVersion=1,0,1,14
RegisterServer=yes
DestDir=11[vclmid50.bpl]
file=http://132.147.161.73/WebDir/vclmid50.bpl
FileVersion=5,0,6,18
RegisterServer=yes
DestDir=11[vcldb50.bpl]
file=http://132.147.161.73/WebDir/vcldb50.bpl
FileVersion=5,0,6,18
RegisterServer=yes
DestDir=11[SysLib.bpl]
file=http://132.147.161.73/WebDir/SysLib.bpl
FileVersion=1,0,0,0
RegisterServer=yes
DestDir=11[axGDApplicationLib.bpl]
file=http://132.147.161.73/WebDir/axGDApplicationLib.bpl
FileVersion=1,0,0,0
RegisterServer=yes
DestDir=11[axGdClaimLib.bpl]
file=http://132.147.161.73/WebDir/axGdClaimLib.bpl
FileVersion=1,0,0,0
RegisterServer=yes
DestDir=11[axGdEdrLib.bpl]
file=http://132.147.161.73/WebDir/axGdEdrLib.bpl
FileVersion=1,0,0,0
RegisterServer=yes
DestDir=11[axRecvPayLib.bpl]
file=http://132.147.161.73/WebDir/axRecvPayLib.bpl
FileVersion=1,0,0,0
RegisterServer=yes
DestDir=11[axSzPrintLib.bpl]
file=http://132.147.161.73/WebDir/axSzPrintLib.bpl
FileVersion=1,0,0,0
RegisterServer=yes
DestDir=11[axTDApplicationLib.bpl]
file=http://132.147.161.73/WebDir/axTDApplicationLib.bpl
FileVersion=1,0,0,0
RegisterServer=yes
DestDir=11[axTdCXLib.bpl]
file=http://132.147.161.73/WebDir/axTdCXLib.bpl
FileVersion=1,0,0,0
RegisterServer=yes
DestDir=11[axTdEdrLib.bpl]
file=http://132.147.161.73/WebDir/axTdEdrLib.bpl
FileVersion=1,0,0,0
RegisterServer=yes
DestDir=11[axCommonLib.bpl]
file=http://132.147.161.73/WebDir/axCommonLib.bpl
FileVersion=1,0,0,0
DestDir=11
RegisterServer=yes
DestDir=11[axLogin.ocx]
file=http://132.147.161.73/WebDir/axLogin.ocx
clsid={88B46A9B-9E7F-4448-BD55-1CA2BE7348EA}
FileVersion=1,0,226,263
RegisterServer=yes
DestDir=11[axTdRegSubPlc.ocx]
file=http://132.147.161.73/WebDir/axTdRegSubPlc.ocx
clsid={88B46A9C-9E7F-4448-BD55-1CA2BE7348EA}
FileVersion=1,0,51,54
RegisterServer=yes
DestDir=11拜托你看一下,帮我指错误,谢谢了!
file=http://132.147.161.73/WebDir/axGDEntry.ocx
clsid={88B46A9A-9E7F-4448-BD55-1CA2BE7348EA}
FileVersion=1,0,33,36
RegisterServer=yes
DestDir=11
file=http://132.147.161.73/WebDir/axGDEntry.ocx
clsid={88B46A9A-9E7F-4448-BD55-1CA2BE7348EA}
FileVersion=1,0,33,36
RegisterServer=yes
DestDir=11
INF中指定的所有文件都可能被下载.否则我们为什么还要用INF呢?
不过,IE在下载文件时会比较版本号.如果在机器上已经有了一个同名的文件,并且版本号不比你在INF中指定的文件的版本号低,IE就不会去下载它了.