Create(Self)与Create(nil)的区别

字体大小: 中小 标准 ->行高大小: 标准
Create(Self):下面一行语句表示了如何向TButton.Create()构造器传递窗口隐含的参数Self。这样窗口成为新创建组件的拥有者:
        MyButton := TButton.Create(Self);
当窗口被析构时,与MyButton有关的TButton实例也会被析构。这是在VCL内部处理的。实质上,窗口再次通过Components数组属性遍历组件并析构它们
Create(nil):通过传递nil给组件的 Create()方法,可以创建一个不具备拥有者的组件,不过,如果这样做了,编程时你需要负责组件的删除。下列代码显示了这个技术:
   MyTable := TTable.Create(nil)
   Try
    {用MyTable填充}
   finally
     MyTable.Free;
   end;

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/67743.html