delphi – 我想为TStringList.Objects分配一条记录
发布时间:2020-12-15 04:09:11 所属栏目:大数据 来源:网络整理
导读:我想创建一个播放列表控件.我有很多信息要显示在TStringList中.我想将记录分配给TStringGrid.Objects而不是对象,因为这么多对象可能需要一段时间才能创建/销毁.它也需要大量的RAM. 记录会更快更轻薄. 我怎样才能做到这一点? TYPE AMyRec= packed record Ful
我想创建一个播放列表控件.我有很多信息要显示在TStringList中.我想将记录分配给TStringGrid.Objects而不是对象,因为这么多对象可能需要一段时间才能创建/销毁.它也需要大量的RAM.
记录会更快更轻薄. TYPE AMyRec= packed record FullName : string[255]; RelativePath : boolean; IsInvalid : boolean; InCache : boolean; etc end; 解决方法
您可以将TList用于记录的指针.
例如: Type PMyrec = ^AMyRec; 用法 var MyRec : PMyRec; new(MyRec); MyRec^.Fullname := 'test'; MyRec^.RelativePath := false; 等等 {MyList是您在别处创建的列表} MyList.Add(MyRec); 你必须处理从列表中处理的项目,例如 处置(PMyRec(MYLIST [索引])); 要使用列表中的项目: var MyRec : PMyRec; PMyRec := MyList.Items[i]; txtBox.Text = PMyRec^.Fullname; 等等 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |