如果IdUDPServer没有运行的话,普通应用程序就会报错,可是在ntservice里就不会(怎么让它会报错?),什么原因啊?代码在这里:http://www.gzyd.net/lael/d7.rar
哪位高人救救急啊

解决方案 »

  1.   

    >>如果IdUDPServer没有运行的话,普通应用程序就会报错报什么错,运行你的那个代码里的c\project.exe, 不会报错呀,>>可是在ntservice里就不会(怎么让它会报错?),什么原因啊?你的ntservice,是作为客户端,向IdUDPServer发送数据吧,你是指当发送失败时,就报错,对吧ntservice是在后台运行的系统服务,一般是不建议与用户界面即桌面沟通的,如果在ntservice中弹一个Messagebox出来,会很不好的.如果你要报错的话,建议将错误信息,写入一个文本文件中即可
      

  2.   

    我系统windows2003 sp1如果我没有运行d7\s\Project1.exe直接运行d7\c\Project1.exe的时候会出错啊。不过我捕捉了,在窗体标题显示信息。
    ////////////////////////////////////////////////
    ---------------------------
    调试器检测到错误
    ---------------------------
    工程 Project1.exe 检测到错误类 EIdSocketError, 错误信息: 'Socket Error # 10054
    Connection reset by peer.'. 进程中止. 使用单步或运行继续运行.
    ---------------------------
    确定   帮助(H)   
    ---------------------------
    ///////////////////////////////////////////////如果先运行d7\s\Project1.exe就不会错。
    ntservice里面不是没有报错,而是根本不会错啊。我用try捕捉,LogMessage('ERROR')根本在日志里没有啊。说明在ntservice里不会出普通应用程序那样的错啊
      

  3.   

    怎么IdUDPClient1.ReceiveString无论如何都是空啊? 
    原因找到了:  if trim(Buff) = 'CLIENT' then
      

  4.   

    ntservice 里面不会出例外,是不跟没有交互桌面有关呢?