因为你的客户端还处于Listen状态,所以在你的客户端的主Form的OnClose事件中应该停止一切工作,然后才能Close,只有程序Close了,计算机才能Shut Down。

解决方案 »

  1.   

    可以正常退出呀,可就是当它驻留在内存的时候,系统不能正常关机。
    在window98下关机不正常。
      

  2.   

    你好,白日梦,我使用的是udp协议,根本没有listen呀
      

  3.   

    这上面的cudp和tNMUDP控件是那个工具包的?
      

  4.   

    airhorse,不是写服务程序,我是说当客户端运行的时候,就不能正常关机,而我把客户端运行时候的窗口not visible了
      

  5.   

    TO newyearday:
    哈哈,udp当然也需要监听呀,要不然什么时候来了数据,都还不知道呢!我在win2000下调试过这个程序,都很正常!你遇到的问题是因为在win98下nmudp在监听的时候把注销、关闭等操作屏蔽掉了,这是nmudp的一个大BUG。你可以换用其他udp控件试试。
      

  6.   

    一个bug?能不能光闭系统的时候,让程序停止监听,就是说自己推出系统?
    行吗?
      

  7.   

    加上下面的代码
    有N个udp,事件中就加N个freetype
      procedure WMQueryEndSession(var MSG:TMessage);message WM_QueryEndSession;implementation{$R *.DFM}procedure TDL_mainform.WMQueryEndSession(var Msg:TMessage);
    begin
      CUDP.Free;
      Msg.Result :=0;
      inherited;
    end;
      

  8.   

    以下是我的程序isprite中的一段。
    完整的程序可以到http://guanbh.top263.net下载。procedure exitwin(var msg:TWMQUERYENDSESSION);message WM_QUERYENDSESSION;
    procedure TServer.exitwin(var msg: TWMQUERYENDSESSION);
    begin
    inherited;
    server.Close;
    end;