serversocket 没打开,clientsocket 尝试连接时会提示  socket error 10061  之类的错误信息,如何屏蔽?(即我不想让它弹出任何提示)

解决方案 »

  1.   

    如果ClientSocket是阻塞模式,则抓异常。
    如果CiientSocket是非阻塞模式,则在OnError里面将ErrorCode:=0;
      

  2.   

    try
      clientsocket.open;
    except
     
    end;
      

  3.   

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      button1.Click;  为什么不起作用?  一定要按Button 才行
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    var str1:string;
    begin
        str1:='192.168.1.35';
        if trim(str1)<>'' then
        begin
           clientsocket1.Port:=12;//server port
           clientsocket1.host:=str1;
           try
           clientsocket1.open;
           str1:=getname;
           clientsocket1.Socket.SendText('昵称@'+str1);
           except
           showmessage('连接失败');
           end;
        end;
    end;
      

  4.   

    将button1.Click;写到formshow中试试?
    写成procedure TForm1.FormShow(Sender: TObject);
    begin
      button1.Click(Sender);
    end;
      

  5.   

    procedure TForm1.FormShow(Sender: TObject);
    begin
      button1.Click(Sender);
    end;
    [Error] Unit1.pas(161): Too many actual parameters
      

  6.   

    procedure TForm1.FormShow(Sender: TObject);
    begin
      button1.onClick(nil);
    end; 
    ErrorCode:=0;//屏掉错误
      

  7.   

    还是不行啊,不管是onshow 、oncreate、onAcativate 都无法实现button 的onclick 事件,
    只有单击button 才行,为什么啊?
      

  8.   

    刚刚试了一下在onShow事件里可以触发button 的onclick 事件啊看看你是不是其他地方有错误
    BitBtn1的onClick事件
    var
    str1:string;
    begin    str1:='192.168.1.252';
        if trim(str1)<>'' then
        begin
         ClientSocket1.Close;
         ClientSocket1.Address := str1;
         clientsocket1.Port:=12;//server port
         ClientSocket1.ClientType := ctNonBlocking;
        try
           clientsocket1.open;
           clientsocket1.Socket.SendText('昵称@'+str1);
           showmessage('连接成功');
        except
           showmessage('连接失败');
           end;
        end;end;窗口onShow事件  BitBtn1.onClick(nil);
    ClientSocket1的onError事件ErrorCode:=0;
    showmessage('服务器未开启');//根据你需要是否显示;
      

  9.   

    原来要这样才行:
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
     clientsocket1.Port:=12;//server port
           clientsocket1.host:='192.168.1.35';
           try
           clientsocket1.open;
           bitbtn1.OnClick(nil);
           timer1.Enabled:=false;
           except
           end;
    end;procedure TForm1.FormShow(Sender: TObject);
    begin
      form1.BitBtn1.OnClick(nil)
    end;
      

  10.   

    可是  application.showmainform:=false;   又不起作用了,我是想把窗体隐藏起来,并使它运行时自动执行button1的事件
      

  11.   

    application.showmainform:=false;  时 
    procedure TForm1.FormShow(Sender: TObject);
    begin
      form1.BitBtn1.OnClick(nil)    又不起作用了
    end;