我使用的是Visual Basic 6.
我的项目中有一些组件引用。使用“regsvr32”在Windows中注册组件。
所以,我已将.ocx
从安装目录添加到Components。
让我们说C:\Program Files\Install Dir\
。但是,当我看到控件的引用(.oca)
时,VB自动获取路径C:\Program Files\Microsoft Visual Studio\VB98
,我可以看到.oca
文件正在被复制。
但是,我只想使用Install dir中的References。我尝试删除或更新,它说Can't remove control or reference;In use
我已尝试在编辑器中修改.vbp
,但它未显示.oca
参考路径甚至不是默认C:\Program Files\Microsoft Visual Studio\VB98
答案 0 :(得分:3)
ActiveX DLL和OCX按设计安装为共享库。出于这个原因,您几乎不想将它们安装到像C:\Program Files\Install Dir\
这样的私人文件夹中,除非它们是应用程序的其他代码不应使用的部分真正私有的。
更多通用的“实用程序”库,例如Microsoft,第三方提供的那些,甚至是您自己开发的那些库,通常通过包含设计时许可证(许可时)和更相关的.DEP文件来安装在开发人员模式中。此类.DEP文件中包含的部分信息是,其中要安装库。在某些情况下,这是System32,在其他情况下,它是Common Files等下的文件夹。
现在,如果您真的想要DLL或OCX的私有副本,那么就有了一种机制。这些被称为隔离程序集,它们取代了Win2K中早期的,有问题的.local机制。
那些.OCA文件完全不同,你不应该尝试引用它们或部署它们。
但很难说出你真正追求的是什么。消息如:
无法删除控件或参考;正在使用中。
..是一个设计时问题,完全与你提出的问题无关。
我只是不确定你要做什么。听起来你正在尝试将库私有地重用于其他应用程序。