2

我正在使用 Visual Basic 6。

我的项目中有一些组件引用。组件使用“regsvr32”向 Windows 注册。所以,我已经.ocx从安装目录添加到组件。

让说C:\Program Files\Install Dir\。但是,当我看到控件的引用(.oca)时,VB 会自动获取路径C:\Program Files\Microsoft Visual Studio\VB98,我可以看到.oca文件正在被复制。

但是,我只想使用安装目录中的引用。我尝试删除或更新,它说Can't remove control or reference;In use

我已经尝试.vbp在编辑器中进行编辑,但它没有显示.oca参考路径甚至不是默认值C:\Program Files\Microsoft Visual Studio\VB98

4

1 回答 1

3

ActiveX DLL 和 OCX 按设计安装为共享库。出于这个原因,您几乎不想将它们安装到像您这样的私有文件夹C:\Program Files\Install Dir\中,除非它们是真正私有的,因为它们是其他代码不应使用的应用程序的一部分。

更通用的“实用程序”库,例如由 Microsoft、第 3 方提供的库,甚至是您自己开发的库,通常通过包括设计时许可证(如果获得许可)和更相关的 .DEP 文件在开发人员模式下安装。此类 .DEP 文件中包含的部分信息是库的安装位置。 在某些情况下,这是 System32,在其他情况下,它是 Common Files 下的文件夹等。

现在,如果您真的想要一个 DLL 或 OCX 的私有副本,那么有一种机制可以做到这一点。这些被称为隔离程序集,它们取代了 Win2K 中早期的、有问题的 .local 机制。

这些 .OCA 文件完全是另外一回事,您不应尝试引用或部署它们。

但很难说你真正追求的是什么。像这样的消息:

无法删除控件或引用;正在使用中。

.. 是一个设计时问题,与您的其他问题完全无关。

我只是不确定您要做什么。听起来您正在尝试重用其他应用程序私有的库。

于 2012-08-14T00:50:38.530 回答