Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Findcomponent TclientSocket.active := true setzen (https://www.delphipraxis.net/161471-findcomponent-tclientsocket-active-%3D-true-setzen.html)

DeddyH 6. Jul 2011 10:45

AW: Findcomponent TclientSocket.active := true setzen
 
Welcher Sender bzw. Socket das war, wird Dir doch übergeben.

Pet04 6. Jul 2011 12:14

AW: Findcomponent TclientSocket.active := true setzen
 
von der logig ist mir das alles schon klar.
ich weiß nur nicht wie ich es im quellcode umwandel.

procedure TMainForm.Price_Info_ClientSocketA_Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);

begin ....

reconnect (Client der den Fehler verursacht hat ) ; ???

end

procedure TMainForm.Reconnect( ????); > (clientsocket)
begin
Timer_PriceInfo.Interval := Pause;
Timer_PriceInfo.Enabled := True;
Memo1.clear;
Memo1.Lines.Add(Price_Info_ClientSocketE.Name +'<attempting to reconnect in '+ IntToStr(Pause) +'ms>')


procedure TMainForm.Timer_PriceInfoTimer(Sender: TObject ???); (Clientsocket)
begin
Timer_PriceInfo.Enabled := False;
try
TClientsocket(FindComponent(Price_Info_ClientSocke tE.Name)).open;
//Price_Info_ClientSocketE.Open;
//Price_Info_ClientSocketE.Active := true;

finally
If not Price_Info_ClientSocketE(Sender).active then ???
// If not (TClientsocket(FindComponent(Price_Info_ClientSock etE.Name)).active) then
//if not Price_Info_ClientSocketE.Active then
begin
Memo1.Lines.Add(Price_Info_ClientSocketE.Name +'<connection failed>');
// TClientsocket(FindComponent(Price_Info_ClientSocke tE.Name)).Active := true;
Price_Info_ClientSocketE.Active := true; ?????
Reconnect;
end;
end;
end;

end;

DeddyH 6. Jul 2011 12:26

AW: Findcomponent TclientSocket.active := true setzen
 
Reich doch einfach den Sender durch, das müsste ja die Socket-Komonente sein, die den Fehler meldet.
Delphi-Quellcode:
procedure TDeinForm.OnSocketError(Sender: TObject);
begin
  Reconnect(Sender);
end;

procedure TDeinForm.Reconnect(Sender: TObject);
begin
  if Sender is TClientSocket then
    TClientSocket(Sender).Reconnect;
end;
So in der Art müsste das doch funktionieren.

shmia 6. Jul 2011 12:27

AW: Findcomponent TclientSocket.active := true setzen
 
@Pet04: Bitte Delphi Tags setzen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:19 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz