void __fastcall TForm1::ClientSocket1Error(TObject *Sender,
      TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{
    ErrorCode=0;
    TClientSocket *ClientSocket=(TClientSocket *)Sender;
    ClientSocket->Tag=-1;   // 连接失败标志
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ClientSocket1Connect(TObject *Sender,
      TCustomWinSocket *Socket)
{
    TClientSocket *ClientSocket=(TClientSocket *)Sender;
    ClientSocket->Tag=1;    // 连接成功标志
}
我是这样用的,没有出现的你的问题!

解决方案 »

  1.   

    修改SockComp单元的procedure TCustomWinSocket.CMLookupComplete方法
    将      raise ESocketError.CreateResFmt(@sWindowsSocketError,
            [SysErrorMessage(Message.AsyncError), Message.ASyncError, 'ASync Lookup']);
    一句屏蔽掉并重新编译
      

  2.   

    忘了说我用的时BCB,不知道改完..\Sourc\VCL\scktcomp.pas 后怎么才能让它起作用——仅仅重新编译我的工程是不可能有效果的。
    不过我已经放弃ClientSocket控件,而是用Socket自己写的也能完成我需要的功能。不过超时问题没法儿实现也是个头疼的问题。
      

  3.   

    忘了说我用的时BCB,不知道改完..\Sourc\VCL\scktcomp.pas 后怎么才能让它起作用???——仅仅重新编译我的工程是不可能有效果的。
    不过我已经放弃ClientSocket控件,而是用Socket自己写的也能完成我需要的功能。不过超时问题没法儿实现也是个头疼的问题。
      

  4.   

    我说与DNS有关,我曾出现过,每当设定DNS指向自已的服务器
    就出现这样的毛病!