Tframe 里放了一个 button 的 click 事件下  Free 自身 报错  请问如何解决 Tframe 是动态创建的

解决方案 »

  1.   

    在Frame窗体的按钮中的语句改成   
    free;
    试试
    如果不行就在主窗体加
    Frame21.free;   
    Frame21:=nil; 
      

  2.   

    很简单,如下调用Free就不会出错procedure TFrame2.Button1Click(Sender: TObject);
    begin
      Self.Free;
    end;给分吧
      

  3.   

    动态创建最好使用以下方式进行
    try
      ...//动态创建
      ...//要实现的功能及相应的操作
    finally
      ...//释放
    end
      

  4.   

    如果是showmodal,而你的Tframe 又是在主窗口中,動態創建的,就不要在frame中做釋放的動作,要想返回,你可以根據情況設定modalresult為mrok 或者mrcancel。
    如果不是上述情況,把創建此frame代碼貼出來大家看看
      

  5.   

    Mainfrmprocedure TForm1.Button1Click(Sender: TObject);
    var
      frm : TFrame2;
    begin
      frm := TFrame2.Create(self);
      frm.Parent := Form1;
      frm.Show;
    end;procedure TFrame2.Button1Click(Sender: TObject);
    begin
      self.Free;
    end;
    Frame
      

  6.   

    先close;再赋指针为nil
    close里action :=cafree;