.Create();
参数可以用self、application
请问有什么区别?

解决方案 »

  1.   

    Self在Delphi中总是代表实例本类
    application代表的是整个运行程序
    create()中传递的是AOwner参数,及所有者的意思,也就是这个AOwner负责该
    创建对象的释放。[谁建立谁释放原则]也就是说控件的所有者如果调用了Free方法删除自己,那么他所拥有的控件也一样要调用Free方法删除自己
      

  2.   

    self.Create表示由当前的实例来创建对象。Application由应用程序创建实例。比如说:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Form2: TForm;
    begin
      Form2:= Self.Create();这里的Self表示Form1实例,由Form1来创建Form2
      Form2:= Application.Create();这里的Application代表整个应用程序,由应用程序创建Form2
    end;
      

  3.   

    两位说的都对,由谁建立就由谁释放,如果为nil就要手工自己释放了