为什么这样创建?var p:TLabel;
begin
p:=TLabel.Create(Form1);
Form1.InsertComponent(p);
p.Parent:=Form1;
end 不好吗?
对象在堆中变成悬浮状态是不会的。因为p实际是一个指向TLabel对象地址的一个指针,将其释放不会有任何问题。(这个TLabel对象现在由Form1来释放。如果它没有一个Parent,那就在堆中不会被释放了。)
begin
p:=TLabel.Create(Form1);
Form1.InsertComponent(p);
p.Parent:=Form1;
end 不好吗?
对象在堆中变成悬浮状态是不会的。因为p实际是一个指向TLabel对象地址的一个指针,将其释放不会有任何问题。(这个TLabel对象现在由Form1来释放。如果它没有一个Parent,那就在堆中不会被释放了。)
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货