Возврат сложных типов (классы, массивы классов) с использованием JCL и CLR

Сначала я сослался на этот вопрос, чтобы начать работу, но столкнулся с препятствиями при попытке вернуть класс или массив класса, используя сборку.NET в Delphi 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() который я могу назначить array of TPerson в Delphi?

1 ответ

Решение

Вы не можете, по крайней мере, не так. Delphi и.NET имеют разные объектные модели и разные типы строк, которые не совместимы друг с другом. Если вы хотите передавать объекты между модулями.NET и Delphi, возможно, лучше всего использовать COM.

Другие вопросы по тегам