有了它,就可以创建深度不确定的分支结构
TGItem = record
NameShort: String;
NameLong: String;
Formula: String;
Components: TArray<TGItem>;
procedure Init;
end;
var
A,B: TGItem;
B := A;
A和B中的.组件指向同一个数组,但我想复制这个数组,我该怎么做?
版本10.4
编辑/当前进度:
class operator Assign(var Dest: TGItem; const [ref] Src: TGItem);
以及
class operator TGItem.Assign(var Dest: TGItem; const [ref] Src:TGItem);
begin
// What to put here?
end;
1条答案
按热度按时间rpppsulh1#
看起来很有效,我使用
B := A.Clone
而不是B := A
,它进行递归复制并创建一个新的克隆分支结构(而不是指向旧结构)。