我首先引用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
?
答案 0 :(得分:2)
你不能,至少不是这样。 Delphi和.NET具有不同的对象模型和不同的字符串类型,它们彼此不兼容。如果要在.NET和Delphi模块之间传递对象,最好的方法可能就是使用COM。