为什么无法从 VB IDE(VB6 和 VBA)调用 RegFree COM 和 .NET?

发布于 2024-08-29 19:32:23 字数 284 浏览 9 评论 0原文

我有一个示例项目,当从编译的 VB6 调用时可以正常工作,但不能从 IDE 或 Excel 的 VBE 调用。

有 3 个 DLL QA.DLL、QB.DLL、QAW.DLL。 QA是用C#.NET编写的,QB和QAW是用VB6编写的。 QAW 是 QA 的 COM 包装器。

在调用代码中,我创建一个激活上下文并加载一个清单文件。

使用 VB6 创建的 exe 一切正常,但在 VB6 或 Excel 的 VBA 调试模式下则不行。

您知道 IDE 调用有什么不同以及为什么它不起作用吗?

I have an example project with works when called from compiled VB6 but not from the IDE or from Excel's VBE.

There are 3 DLLs QA.DLL, QB.DLL, QAW.DLL. QA is written in C#.NET, QB and QAW are written in VB6. QAW is a COM wrapper of QA.

In the calling code I create an Activation Context and load a manifest file.

All works fine from the exe created with VB6, but not in debug mode in VB6 or in Excel's VBA.

Any ideas what it is that is different about the IDE call and why it doesn't work?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

所有深爱都是秘密 2024-09-05 19:32:23

这是因为该应用程序实际上是从 VB6.exe 所在的目录运行的。实际上,您可以将 dll 和清单放在那里并让它工作,但是如果您进行大量的 RegFree 开发,该目录很快就会变得一团糟。

It is because the application is actually running from the directory that the VB6.exe is located. You could actually put your dll's and manifest there and have it work, but if you do much RegFree development that directory is going to become a mess very quickly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文