通过COM将复杂信息从Delphi代码传递到C#

通过COM将复杂信息从Delphi代码传递到C#,c#,delphi,com,C#,Delphi,Com,出于各种原因,例如保护投资等,我需要在Delphi和C#程序之间来回传递一系列复杂的记录(许多字段和记录)。我想我应该使用IEnumVariant,但似乎无法使用typelibrary设计器来设计它 任何帮助都将不胜感激 谢谢 更新 我想我想问的问题需要解释一下数据的复杂性 我需要通过COM将一组“记录”导出到C#(或任何其他语言),每个记录由一组“字段”组成,每个字段由多个属性组成 所以它是一个集合一个集合一个集合!别问我我们是怎么来的,我们只是有 所以我有属性->字段->记录类结构。我已经掌

出于各种原因,例如保护投资等,我需要在Delphi和C#程序之间来回传递一系列复杂的记录(许多字段和记录)。我想我应该使用IEnumVariant,但似乎无法使用typelibrary设计器来设计它

任何帮助都将不胜感激

谢谢

更新

我想我想问的问题需要解释一下数据的复杂性

我需要通过COM将一组“记录”导出到C#(或任何其他语言),每个记录由一组“字段”组成,每个字段由多个属性组成

所以它是一个集合一个集合一个集合!别问我我们是怎么来的,我们只是有

所以我有属性->字段->记录类结构。我已经掌握了需要导出的内容(由于公司原因,我无法在此发布任何详细信息),但不知道如何开始在COM中导出这些数据


也许我应该从头开始创建一个测试程序,它将模拟我需要的结构,然后逐渐地将它们组合起来,看看我能达到什么目的。

将信息封装在类中。在任何语言中都能很好地工作,在COM中也能很好地工作。

我要回答我自己的问题

我创建了一系列从IEnumVARIANT派生的类,表示不同的数据位集合、列表和记录。每个字段都是一个简单的COM接口定义


当我将字段/记录等集合实现为TList时,我使用了来自的示例。

除了C#对Delphi类一无所知,反之亦然。你根本没有回答OP的问题——问题是“如何通过COM在C#和Delphi代码之间传递复杂信息?”。说“使用类”并没有帮助,确实有帮助。其他任何事情都是有问题的。COM不能很好地支持结构,因为它们的布局依赖于编译器。映射类不是问题,属性和方法映射到COM接口。这就是内置在.NET和Delphi中的胶水。