2

最初にこの質問を参照して開始しましたが、Delphi XE で .NET アセンブリを使用してクラスまたはクラスの配列を返そうとすると、障害が発生しました。

次の点を考慮してください。

//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;

Delphi でGetPersons()に割り当てることができる、返されたデータをどのように理解すればよいですか?array of TPerson

4

1 に答える 1

2

少なくともそうではありません。Delphi と .NET には異なるオブジェクト モデルと異なる文字列型があり、互いに互換性がありません。.NET モジュールと Delphi モジュールの間でオブジェクトを渡したい場合、最善の方法はおそらく COM を使用することです。

于 2010-11-16T00:46:46.020 に答える