panel上放一些动态生成的控件,关闭窗口的时候需要手工释放吗?
panel上放一些动态生成的控件,关闭窗口的时候需要手工释放吗?
比如create一些label放上去,关闭的时候,是否需要手工释放这些对象?
[解决办法]
如果parent是nil则需要,否则不需要,父控件会帮你释放,不过我的习惯都是自己释放
[解决办法]
在创建动态控件的时候
比如:
Button:=TButton.Create(Owner);
如果指定的Owner为nil,需要手动释放
如果Owner不为nil,比如是一个Panel,那么在Panel释放之前会将Button释放
[解决办法]
1,2樓正解。
[解决办法]
如果整个程序都关掉,可以不用
[解决办法]
是否释放是判断Owner,不是判断Parent。
[解决办法]
我曾经在一个程序里设定动态image控件,当按button1时create,button2时free。先按button1,后按button2,如此循环。当第二次轮到button2时,程序死了。(但在编译时delphi却没有查出任何errors)