我有一个 .net dll 可以导入到 Delphi 6。但它丢失了一些信息。
我在 VB.net 中有一个演示应用程序来使用这个 dll,它显示了 2 个名为
IRedeemTransactionItemBundle
和ITransactionItemBundle
. 在 Visual Studio 2008 中,我可以看到这ITransactionItemBundle
是IRedeemTransactionItemBundle
. 因此,当我声明一个 type 变量时IRedeemTransactionItemBundle
,我可以访问两个接口的所有属性。
但是当我将 dll 导入 Delphi 6 时,我可以同时看到IRedeemTransactionItemBundle
声明ITransactionItemBundle
部分。但是没有信息表明ITransactionItemBundle
是IRedeemTransactionItemBundle
. 此外,当我在 Delphi 中声明类型变量时IRedeemTransactionItemBundle
,我无法访问ITransactionItemBundle
(基本类型)的属性。
当我尝试通过将基本类型设置为IRedeemTransactionItemBundle
来在 tlb 编辑器中注册库时ITransactionItemBundle
,我收到错误消息:“父接口已经有一个 id:1610743808 的成员”。我可以在 tlb 编辑器中看到两个接口的属性具有相同的 ID。
我也尝试使用 Delphi 7 导入相同的 dll。但没有帮助。
这是德尔福的问题吗?你们有没有人在导入时遇到过这样的问题,请给我一些想法?