试过以下方法均不成功:
close;      //会继续执行
self:=nil;  //会继续执行
Action := caFree; //会继续执行
application.Terminate;     //会关闭整个程序请教各位给予指点,谢谢!

解决方案 »

  1.   

    PostMessage(Handle, WM_CLOSE, 0, 0);
      

  2.   

    谢谢   hahafan(注意!此人前途迷茫) , 您的方法有效.不过,Form仍会晃一下才消失,但在FormShow中不能更改它的Visible和Hide属性,所以就用改变它的位置和大小的方法,虽然不再晃那一下了,但感觉还是有点别扭,不知大家有没有更好的方法?        self.Width:=0;
            self.Left:=-2000;
            PostMessage(Handle, WM_CLOSE, 0, 0);
      

  3.   

    你的思路是错误的!为什么要在主程序启动的时候关闭主窗体呢?
    如果是想设置类似登陆验证的功能,那么就直接在工程文件中处理,没有必要在FormShow事件中处理的!
      

  4.   

    FormShow本来就是要显示窗体,而你又在这时候关闭窗体,似乎有点不合乎逻辑.
      

  5.   

    TO gobiz(拔剑容易收剑难) :关闭的不是主窗体,而是子功能窗体.关闭和原因是在 FormShow中做了第二次权限检查.
      

  6.   

    还是我说的那个道理,在主窗体调用的时候先判断好了在把子窗体Show出来,不要在子窗体的FormShow事件,或者Create事件里验证权限!这样比较好控制!