【发布时间】:2019-07-09 18:49:01
【问题描述】:
我的任务是重振一个 VB6 项目,我已经很久没有使用 VB6 了。
这是我的问题。
项目 A 是一个 ActiveX EXE 项目。在同一个项目组中还有另一个 ActiveX EXE 项目;项目 B。项目 B 包含项目 A 需要使用的clsCommon (clsCommon.cls),如:
Private clsCommonA as ProjectB.clsCommon
当我尝试将项目 B 的输出 exe(不是 vbp)添加到项目 A 的引用时,我收到错误 Project 'Project B.vbd' can not be referenced because it's project type is EXE.
有人可以提醒我如何在 EXE 中引用类吗? (我在输出为 ActiveX DLL 的项目组中的项目中引用类没有问题)
顺便说一句:我认为这甚至是可能的,只是因为 20 年前的某些开发人员显然已经做到了这一点。
【问题讨论】:
-
我一直认为从 EXE 到 EXE 需要使用后期绑定(即
CreateObject()调用)。或许还有另一种方式,我对答案很感兴趣。 -
AFAICR 可以通过早期绑定使用 EXE 到 EXE。我 99% 确定 ActiveX EXE 位于注册表中,并且可以像任何其他 ActiveX(又名 COM)组件一样添加到项目引用中。 ActiveX EXE 也是一个类型库。但是,关于项目组,我不记得如何在项目组中添加对 ActiveX EXE 的引用。我原以为您添加了 VBP 文件。 AFAICR 就是您如何将 ActiveX DLL 项目的引用添加到同一组中的另一个 EXE 项目。 @davecov,如果您尝试添加 VBP,会发生什么?
-
@MarkJ 感谢您的评论,它唤醒了我的记忆。
-
其他读者请注意 --- 尽管我在下面放置的答案链接到一堆其他问题,并且他们的答案与这个问题有相似之处,但我实际上并不认为问题本身是重复的。我没有找到另一个询问如何执行此操作的 VB6 问题。
标签: vb6