这段程序是放在哪里的?放在不同地方,close的结果也会不同。
如果它属于某个form,那么应该会关闭此form。

解决方案 »

  1.   


    呵呵..打断点,看看 close被执行了吗?if dataunit.DataModule1.query3.RecordCount=0 then
      begin
      messagedlg('此条记录已被其他用户修改或删除!',mterror,[mbok],0);
      close;//打断点。
      end;如果执行了,看看关闭的是谁?
      

  2.   

    多明白,程序在messagedlg时等待用户命令呢
      

  3.   

    当然属于这个FORM呀,该如何进行?
      

  4.   

    Close=>Self.Close;
    PostMessage(Self.handle,WM_Close,0,0);
      

  5.   

    多简单的问题,F5,F9,F8,...然后都明白了。
      

  6.   

    很容易:(假如窗口为:Form2)
      if dataunit.DataModule1.query3.RecordCount=0 then
      begin
        PostMessage(Form2.Handle, WM_CLOSE, 0, 0);
        messagedlg('此条记录已被其他用户修改或删除!', mterror, [mbok], 0);
      end;