你可以使用VarArrayOf,例如:
Var
MyVar:Variant;
Begin
MyVar:=VarArrayOf(['samples',100,2045]);从上面的代码可以看到,利用VarArrayOf可以创建数据类型不同的Variant数组
这同Record是类似的。
Var
MyVar:Variant;
Begin
MyVar:=VarArrayOf(['samples',100,2045]);从上面的代码可以看到,利用VarArrayOf可以创建数据类型不同的Variant数组
这同Record是类似的。
解决方案 »
- 如何将Socket中接收到的图片数据流保存为jpg
- 请问如何使用vc生成的obj文件?
- 如何清除3721、雅虎助手这样一些流氓软件?真是讨厌之极!
- 50分 找 <Delphi 5应用程序设计实例> 电子版
- quick chm出现的问题
- 请介绍一下有关线程方面的文章或资料学习学习。
- 如何用程序设置打印机的属性?
- 为什么在quickrep中预览正确的,而打印第一页时却只打了一个员工的一个月的考勤(一张页面是2个员工的考勤)?
- 各位大虾!
- win7 + delphi7 下安装JEDI 控件问题
- 为什么那么多关于delphi的资料没有介绍指针的?
- 高分悬赏!DELPHI或BCB中怎样为DLL直接定义共享内存段的办法!
其实你回答的那种方法不过是数组维数返回数组而已。如果是数组里每一维返回的是一个record,就可以在调用的时候写出
tmp[0].filed1这样的输出格式,也就是一种类似二级interface的样子哦,如果是这样,应该如何实现呢? 在VB里我就可以实现,我是将每一维数的值set成一个class,该class里有一些property(包括get,set的方法),这样再调用这个COM的时候就可以非常方便的读取相应的信息。你明白我说的吗?在DELPHI上一直没有一个好方法哟。 能帮帮我吗?解决了多多的加分! :D
原因 COM不是所有类型都支持的, 你的Record也行,但嘿嘿要进行个所谓 Marshaling和 Unmarshaling(MS称之为编组)也就是说你的 Record就不行了要定义成一个interface事情就很多了。这种做法Delphi很多,TStringList是个范例
虽然我还没有编 demo 但 1-2 天内可以给你一个满意的答复.这个问题有一定的难度,但delphi是完全可以解决的。
实在不知道怎么办好