delphi – 我想为TStringList.Objects分配一条记录

前端之家收集整理的这篇文章主要介绍了delphi – 我想为TStringList.Objects分配一条记录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想创建一个播放列表控件.我有很多信息要显示在TStringList中.我想将记录分配给TStringGrid.Objects而不是对象,因为这么多对象可能需要一段时间才能创建/销毁.它也需要大量的RAM.

记录会更快更轻薄.
我怎样才能做到这一点?

  1. TYPE
  2. AMyRec= packed record
  3. FullName : string[255];
  4. RelativePath : boolean;
  5. IsInvalid : boolean;
  6. InCache : boolean;
  7. etc
  8. end;

解决方法

您可以将TList用于记录的指针.

例如:

  1. Type
  2. PMyrec = ^AMyRec;

用法

  1. var
  2. MyRec : PMyRec;
  3. new(MyRec);
  4. MyRec^.Fullname := 'test';
  5. MyRec^.RelativePath := false;

等等

{MyList是您在别处创建的列表}

  1. MyList.Add(MyRec);

你必须处理从列表中处理的项目,例如

处置(PMyRec(MYLIST [索引]));

要使用列表中的项目:

  1. var
  2. MyRec : PMyRec;
  3.  
  4. PMyRec := MyList.Items[i];
  5. txtBox.Text = PMyRec^.Fullname;

等等

猜你在找的Delphi相关文章