socket错误屏蔽问题???(100分)

  • 主题发起人 terminal_guo
  • 开始时间
T

terminal_guo

Unregistered / Unconfirmed
GUEST, unregistred user!
如下代码:
try
ClientSocket1.Active := True;
except
ClientSocket1.Active := False;
showmessage('Connected Faild');
end;
执行以后如果服务器端没有正确运行系统报错,
但是上面的代码屏蔽不掉这个错误,
那位大虾知道如何屏蔽掉这个错误不让他弹出来啊,
 
在OnError事件中,将ErrorCode:=0就可以了。
 
同意阿蛮的!
但是如果server沒有激活,ClientSocket1.Active := True好象沒有辦法屏蔽掉这个错误!
gz…
 
不是吧,我的没有什么错误报告啊。(D7)
procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
self.Caption:=IntToStr(ErrorCode);
ErrorCode:=0;
end;
 
阿蛮,你有没有做过这样的代码:
procedure tmainform.button1Click(Sender: TObject);
begin
clientsocket1.active := true;
clientsocket1.socket.sendtext('test cha');
clientsocket1.active := false;
end;
第一次点击这个按牛的时候这个字符串发出去了之后服务器端收不到,等第二次点击这个按牛的时候
服务器端就能够收到发送的信息了,为什么第一次发送的消息服务器端收不到呢,??

还有问一个问题啊,我怎样自己处理
clientsocket1.OnError事件啊,
比如我想
cliengsocket1.OnError = myEvent;
myEvent自己来定义怎么处理,怎样才能做到自己处理这个事件呢??
 
呵呵,我一般不是这样用的,我一般要发送数据是在OnConnect事件中。

procedure tmainform.button1Click(Sender: TObject);
begin
clientsocket1.active := true;
end;

procedure tmainform.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
var
s: String;
begin
s:='test cha';
if Socket.SendText(s)=Length(s) then
Socket.close;

end;

 
接受答案了.
 
顶部