NIL,创建的对象需要自己释放;
SELF,创建的对象由SELF负责释放。

解决方案 »

  1.   

    vXx := TXx.Create(Self); //当Self释放时//vXx要会释放
      vXx.Free; //可以省略  vXx := TXx.Create(nil); //没有人释放//只有自己释放
      vXx.Free; //不能省略
      

  2.   

    //参考
    TComponent.FindComponent();
    TComponent.Components[];
    TComponent.ComponentCount;begin
      vButton := TButton.Create(Self);
      vButton.Name := 'NewButton1';
      if Assigned(FindComponent('NewButton1')) then
        ShowMessage('找到了!');
      vButton.Free;  vButton := TButton.Create(nil);
      vButton.Name := 'NewButton2';
      if Assigned(FindComponent('NewButton2')) then
        ShowMessage('找到了!');
      vButton.Free;
    end;
      

  3.   

    //参考
    TComponent.FindComponent();
    TComponent.Components[];
    TComponent.ComponentCount;begin
      vButton := TButton.Create(Self);
      vButton.Name := 'NewButton1';
      if Assigned(FindComponent('NewButton1')) then
        ShowMessage('找到了!');
      vButton.Free;  vButton := TButton.Create(nil);
      vButton.Name := 'NewButton2';
      if Assigned(FindComponent('NewButton2')) then
        ShowMessage('找到了!');
      vButton.Free;
    end;