gpt4 book ai didi

delphi - 类或记录()

转载 作者:行者123 更新时间:2023-12-03 19:46:30 26 4
gpt4 key购买 nike

如何确定Delphi 是否属于特定类而不是特定记录?
我想释放列表中的元素,如果它是清洁时的类。

procedure TTableData<T>.Delete(Index: Integer);
begin
if Items[Index] is TClass then TClass(Items[Index]).Free;
inherited Delete(Index);
end;

最佳答案

您可以使用RTTI,也许像这样:

uses
System.TypInfo;

....

procedure TTableData<T>.Delete(Index: Integer);
var
item: T;
begin
if PTypeInfo(TypeInfo(T)).Kind = tkClass then
begin
item := Items[index];
TObject((@item)^).Free;
end;
inherited Delete(Index);
end;

关于delphi - 类或记录(<T>),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56272647/

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