草庐IT

c# - Regfree COM 事件从其他线程失败

我有一个COM可见.NET类,它公开事件并从VB6中使用。在过去的几天里,我一直试图让它与regfreeCOM一起工作,但没有成功。当从原始线程触发事件时,VB6事件以regfree模式运行。VB6事件在注册类型库时从另一个线程触发时运行。(regasm/tlb/codebase后跟regasm/codebase/unregister,后者不会注销tlb)当在regfree模式下从另一个线程触发时,它会抛出异常,因此永远不会执行VB6事件代码。System.Reflection.TargetException:Objectdoesnotmatchtargettype.atSystem.

windows - 免费注册 (Regfree) COM

我们使用COM对象自动化模型使我们的应用程序可供客户使用。他们大部分时间使用python来访问我们的应用程序界面。由于我们希望能够安装(尚未运行,这是另一个问题)应用程序的不同版本,我们正在将我们的COM组件更改为regfree。但这与脚本语言通过IDispatch自动化的访问冲突,因为它们需要注册表中的条目。我们的方法是创建一个应用程序来管理我们实际应用程序的事件版本。它让用户决定他想要的版本并负责注册表项。我们的方法有哪些替代方案? 最佳答案 COM中有一个协议(protocol)可以执行此操作。如果您对接口(interface