Tvarrec 类型该如何用

jhcsq 2008-08-07 04:40:16
我要用setfields函数修改记录,其参数是TvarRec类型,我定义了一个,但我的记录各字段都是string,无法用TvarRec啊
arry2:array[0..2] of Tvarrec;

arry2[0]:='rec1'; //这两句是错的,arry2[1]:='rec2';
setfields(arry2);
那么如何通过数组来setfields泥?
...全文
256 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZuoBaoquan 2009-01-01
  • 打赏
  • 举报
回复
楼主需要知道的是,TVarRec主要用在开放数组里面,如Format函数:
function Format(const Format: string; const Args: array of const): string; overload;

array of const表示可以是任意多个不同Delphi数据类型的值,解决方法很简单:
SetFields(['rec1', 'rec2'])

另外,需要提醒的是,一般不要直接使用TVarRec,不仅因为对其操作需要依次判断类型(VType),而且它的很多成员都是指针,如
vtInt64: (VInt64: PInt64);
它可能引用的是栈上的某个变量(如果是你自己创建的话还需要手工释放内存),离开有效区域后就失效了。
yuqianyi1974 2008-08-07
  • 打赏
  • 举报
回复
需要知道Tvarrec的内容
比如
Ttmp=record
x,y:integer

end;
a: array[0..1] of Ttmp;

a[0].x:=..
a[0].y:=..

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧