【发布时间】:2011-10-24 10:06:21
【问题描述】:
我有一个没有嵌入式类型库的 VB6 标准 EXE。我想从该可执行文件生成一个互操作程序集并从 .NET 项目中引用它。这应该允许我从 .NET 实例化可执行文件中定义的 COM 类。
由于我没有类型库,我尝试从头开始创建 IDL,使用 MIDL 生成类型库,并从类型库生成互操作程序集。我可以从我的 .NET 项目中引用互操作程序集,但仍然无法实例化任何 COM 类。我相信我的互操作程序集不知道 EXE,因此无法实际执行我调用的代码。
我已经成功地从 .NET 实例化了在 VB6 ActiveX DLLs 中定义的 COM 类,其中互操作程序集知道包含实现的相应 COM DLL 的 ClassID。
在我从头开始创建的 IDL 中,我应该使用什么作为库定义的 UUID?这应该以某种方式引用EXE吗?
[
uuid(WHATUUID-SHOU-LDII-NCLU-DEHEREXXXXXX),
version(1.0),
helpstring("for TLB on EXE")
]
library MyExe { ... }
【问题讨论】: