我手头上有一个C++builder写的控件,在WEB上使用的。现在我用VB改写该控件,控件名称、方法、属性等接口与原先的完全一样。唯一不同的是CLSID。由于某种原因页面脚本不便于修改(也就是说不能修改引用classid="clsid:886ED1A5-D07C-42D9-B59B-33A4C216F64D">的CLSID以使用我的控件。)那么如何让VB编译的控件CLSID与原先C++写的完全一样?用二进制兼容,提示必须是VB控件才能采用二进制兼容,编译不通过。手工改注册表,替换所有CLSID还是不行。请教各位大虾如何处理?急,在线急等 多谢了!

解决方案 »

  1.   

    如下可解决你的问题:
    http://support.microsoft.com/kb/167707/en-us--------------------------------------------------------------------------
    For example, if your custom control, named Custom.OCX, appears in your project, a line in the VBP file could read as follows: 
       Object={B0784T02-A67Y-11E0-8840-00DD00F7B36C}#1.0#0; Custom.Ocx
    You can modify the CLSID in the above line, 
       {B0784T02-A67Y-11E0-8840-00DD00F7B36C}
    with the new CLSID of the Custom.Ocx. Saving the VBP file and reopening the project with Visual Basic should solve the problem. 
      

  2.   

    找到一篇文章,給你參考
    http://www.vbaccelerator.com/progid.htm
      
      

  3.   

    用vc以二进制打开相应的文件,把相应的classid代替为你要的