子form经过下面处理
procedure Tcail.FormClose(Sender: TObject; var Action: TCloseAction);
begin
cail.Release;或
cail.Free;或
cail.Destroy;end;还是不能将cail的值变为nil,请问调用那个cail函数或过程才能将cail的值置为nil

解决方案 »

  1.   

    要加 Cail := nil;或 FreeAndNil(Cail);
      

  2.   

    procedure Tcail.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      Action := caFree;
      cail := nil;
    end;
    或FreeAndNil(cail)
      

  3.   

    我想的是:请问调用那个cail函数或过程才能将cail的值置为nil
    而不是给cail赋值不知道我的想法是否正确请问freeandnil这个函数的作用和功能??
      

  4.   

    按道理义,cail.Free后它就该是nil,很多时侯却不是这样,Destroy中也没有明确设其为nil,我想这是系统自动释放吧;没有哪个函数明确设其为nil,FreeAndNil不是其所属函数,它的作用是先free对象再设其为nil,更多时用它