2010-11-12 93 views
2

我第一次引用this question返回複雜類型(類的類,數組)上手,但達到了試圖返回類時路障或使用.NET程序集的類的陣列德爾福XE。使用JCL和CLR

考慮以下幾點:

//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數據的意義嗎?

回答

2

你不能,至少不是這樣。 Delphi和.NET有不同的對象模型和不同的字符串類型,它們不相互兼容。如果你想在.NET和Delphi模塊之間傳遞對象,最好的方法是使用COM。

+0

+1對於「Delphi和.NET有不同的對象模型和不同的字符串類型,它們不相互兼容」 – 2010-11-16 07:59:53

+0

您能否提供帶有示例的鏈接?我沒有任何使用COM的經驗。 – 2010-11-17 02:16:39