gpt4 book ai didi

delphi - 我想将一条记录分配给 TStringList.Objects

转载 作者:行者123 更新时间:2023-12-03 14:47:44 25 4
gpt4 key购买 nike

我想创建一个播放列表控件。我有很多信息要显示到 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);

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

Dispose(PMyRec(MyList[Index]));

要使用列表中的项目:

var
MyRec : PMyRec;

PMyRec := MyList.Items[i];
txtBox.Text = PMyRec^.Fullname;

等等

关于delphi - 我想将一条记录分配给 TStringList.Objects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/367130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com