用Visual Basic 编写ActiveX 控件(*.ocx)的编译问题?用Visual Basic 编写ActiveX 控件(*.ocx),在编译时有下列选项:
(1)不兼容;
(2)工程兼容;
(3)二进制兼容。这写选项说明反复看过许多次,但还是始终不理解,诚请大家帮忙做个解释!

解决方案 »

  1.   

    在   VB   中,所谓的“二进制兼容”是指保持生成的   COM   对象的   CLASSID   不变,它需要必须编译一遍,以后设置为二进制兼容。一旦以前的二进制文件(OCX/DLL)不见了,那就惨了,VB   自动的殷勤的帮你生成一个新的   CLASSID,当然这些你都不用亲手管理,VB   都替你做了!这样,原来使用这个   COM   组件的程序很可能就不能工作了。VB   完全可以生成一个单独的文件用来存储   COM   对象的   CLASSID   的。所谓工程兼容就是只检查修改后的   COM   对象在属性/方法上面是否与前一个版本一致。如,如果你不小心删除了一个已经存在的方法/属性,在编译的时候,你就会被告知你破坏了对象的一致性