请问owner与parent有什么区别?在什么场合下用呀?另外,请问vcl与clx分别用在什么场合?并且如何区分某程序用了vcl还是clx?谢谢 

解决方案 »

  1.   

    Owner参数负责释放控件比如你在创建一个对象时会使用如下的语句var
      Obj:TObject;
    begin
      Obj:=TObject.Create(Form1);
      //这里Create函数的参数Owner指向了窗体本身,所以这个对象在窗体释放的时候有窗体负责释放,呵呵,有点拗口!
    end;至于Parent,主要用来负责绘画子控件例如,在程序运行的时候你可能会动态的生成一个Label,所以var
      MyLbl:TLabel;
    begin
      MyLbl:=TLabel.Create(Form1);
      MyLbl.Parent:=Form1;  //如果不加这句,你创建的Label是不会显示的!!!!
    end;最后,关于你说的VCL和CLX,我只知道CLX是用来建立跨平台APP的,具体没有用过,不敢评论。如何区分一个程序是用了VCL还是CLX,我看只能看程序引用的单元了吧!
      

  2.   

    请问在如下代码中
    procedure TForm1.Button1Click(sender:Tobject);
    var
      MyLbl:TLabel;
    begin
      MyLbl:=TLabel.Create(self);
      MyLbl.Parent:=self;  
    end;1.这里的self是指Tform1还是Tlabel?
    2.MyLbl.Parent:=self;与MyLbl.Parent:=form1有和区别?