我写了个小程序,向软盘中拷贝文件。窗口是模态的。但写软盘后,模态窗口点击关闭按钮却不能关闭了。
请问为什么?有哪位遇到过,帮我解决一下

解决方案 »

  1.   

    if form1<>nil then
    begin
        form1=nil;
        form1.free; 
    end;
      

  2.   

    在close的事件中写:Action:=caFree;
    在Destory事件中写:Form1:=Nil
      

  3.   

    你的主窗体是模态的还是,调用写软盘的窗体是模态的,主窗体是模态的,没有什么好说的,close是可以执行的,即使不用Action操作
    如果是调用窗体是模态
    可以这样做,在调用处这样:
    with TFormSaveFile.create(application) do
    try
      ....//初始化信息
      showmodal;
    finally
      Free;
    end;在模态状态窗体中的‘确定’按钮上,写代码
    begin
      ModalResult := MrOK;
    end;
      

  4.   

    是这样的:
      MainForm。show  (主窗体)
      writeFloppyForm。showmodal  (子窗体)
           writeFloppyForm。XXOnClick    (copy some files to floppy)
    。这时我多次点击主窗体,出现不响应状态
           showMessage('copy finished');
      writeFloppyForm。close()       (关闭子窗体)这种情况下关闭不了
      

  5.   

    1按钮是复制的吗,可能在click内是其它的代码。
    2:如果是mdichid form --在onclose 内写出action:=cafree;