因为一定要用到.net的反射功能,所以不得已用C#做了个COM,用以收集程序集的类方法和属性的描述.然后生成一个结构集合,最后以object 的形式传出.在delphi里面收olevariant的变量接收.但是总是报异常.以下有两种选择,分别该如何在DELPHI中获取呢?1 以结构的形式封到object中传出值C#
//结构
public struct reval
{
public string classname;
public string methodname;
public string propertyname;
}
//主体函数
public object main()
{
reval aa = new reval();
return aa;
}
2 简单一点,以数组的形式传出值c#public object main()
{
ArrayList al = new ArrayList();
al.Add("one"); return al;
}
------------------------------------------以上两种例子,其实就是想了解C#传出较复杂的数据类型,DELPHI如何去实现获取?1 在DELPHI中能实现C#的结构吗?还是C#的结构要在COM中以接口的形式发布出来?
2 DELPHI中的Array[0..9] of string 与C# ArrayList 所存地址可以转换访问吗?总之一个字, 烦.就请高手指点啦.
//结构
public struct reval
{
public string classname;
public string methodname;
public string propertyname;
}
//主体函数
public object main()
{
reval aa = new reval();
return aa;
}
2 简单一点,以数组的形式传出值c#public object main()
{
ArrayList al = new ArrayList();
al.Add("one"); return al;
}
------------------------------------------以上两种例子,其实就是想了解C#传出较复杂的数据类型,DELPHI如何去实现获取?1 在DELPHI中能实现C#的结构吗?还是C#的结构要在COM中以接口的形式发布出来?
2 DELPHI中的Array[0..9] of string 与C# ArrayList 所存地址可以转换访问吗?总之一个字, 烦.就请高手指点啦.
如:
reval=Record
classname:string;
methodname:string;
propertyname:string;
end;
2:C#的ArrayList可以用Delphi的TList来接收应该是这样的,没试过,你试一下吧