用 delphi 修改了一个 OCX控件,然后用HTML调用。现在的问题是OCX更新了,但IE还是显示以前的OCX界面。以下是 HTML文件的部分代码:
<div>
<OBJECT
           id=TestAX 
   codebase="ActiveFormProj1.ocx"
classid="clsid:38E23C1D-86A7-4EE0-A4A2-4E45EA531170"
   width=560
   height=359
   align=center
   hspace=0
   vspace=0
>
</OBJECT>
</div>
我在DELPHI 中修改源文件 然后BUILD新的 OCX了 但HTML还是调用的以前的OCX。最奇怪的是我在计算机上搜索所有的ActiveFormProj1.ocx的文件 然后删除 ,IE打开这个HTML文件 依然显示原来的OCX界面请问我该如何更新OCX

解决方案 »

  1.   

    看看目录:"%windir%\Downloaded Program Files"下面有没有.
      

  2.   

    OCX里面的版本号也要增加的,如果是打包成cab文件的话,cab文件中inf也要增加版本号,ocx就会自动更新了
      

  3.   

    通过 delphi ->Run->Unregister ActiveX Server,把它给干掉,在重新注册一次 ;不过如果是在delphi中调试的话,应该会自动更新的,就是创建ActiveX是不要做太多的改动,会自动更新的 ;
      

  4.   

    如果做了数字签名的cab,得把版本号升级,就是重新做数字签名的cab里面的版本应该要高于当前系统中的OCX版本,否则不会重新下载的 ;
      

  5.   

    重新打Cab包.  
    修改版本号 下面是ini写法
    [version]
    signature="$CHICAGO$"
    AdvancedINF=2.0[Add.Code]
    GPSMon.ocx=XX.ocx[XX.ocx]
    file-win32-x86=thiscab
    clsid={5303E7AE-695B-48EE-B499-E4F235654233}
    FileVersion=2,0,0,0  //就是修改这里
    RegisterServer=yes再修改html文件
      <object classid="clsid:5303E7AE-695B-48EE-B499-E4F235654233"
           codebase="XX.CAB#version=2,0,0,0"
           id="formtest"  width="100%" height="100%" align="top">一定要保证版本号一致
      

  6.   

    仅生成ocx还不够,你还要向系统注册这个组件呀,网页的那个访问的是注册过的那个,你执行一下Run->Register ActiveX Server就可以了