使用JCL和CLR返回复杂类型(类,类的数组)

时间:2010-11-12 04:18:21

标签: delphi clr delphi-xe jedi-code-library

我首先引用this question开始使用,但在尝试使用.NET程序集返回数组时遇到了障碍德尔福XE。

请考虑以下事项:

//C#
[ComVisible(true)]
public class Person {
    public int Id;
    public string Name;
}

public class SomeClass 
{
    public SomeClass() {}        

    public Person[] GetPersons()
    {
        //some code
    }
}

//Delphi
type TPerson = class
  Id : Integer;
  Name : string;
end;

如何理解从GetPersons()返回的数据,我可以将其分配给Delphi中的array of TPerson

1 个答案:

答案 0 :(得分:2)

你不能,至少不是这样。 Delphi和.NET具有不同的对象模型和不同的字符串类型,它们彼此不兼容。如果要在.NET和Delphi模块之间传递对象,最好的方法可能就是使用COM。