AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Findcomponent TclientSocket.active := true setzen
Thema durchsuchen
Ansicht
Themen-Optionen

Findcomponent TclientSocket.active := true setzen

Ein Thema von Pet04 · begonnen am 5. Jul 2011 · letzter Beitrag vom 6. Jul 2011
 
Pet04

Registriert seit: 26. Sep 2007
86 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Findcomponent TclientSocket.active := true setzen

  Alt 5. Jul 2011, 10:48
Hallo zusammen,

ich erstelle dynamisch bis zu 8 clientsockets

.....
Code:
   For j := 0 To 4 do
       begin
        If (PreisLedCfg[j].IP_Ausfahrt <> '0.0.0.0') then
        begin
        try
        Price_Info_ClientSocketA:=TclientSocket.Create(self);
        with Price_Info_ClientSocketA do
        begin
          Name := 'Price_Info_ClientSocketA_'+PreisLedCfg[j].Anlage;   // A für Ausfahert
          ClientType := ctNonBlocking;
          Host := GetIPFromHost(PreisLedCfg[j].IP_Ausfahrt);//GetIPFromHost(host[i]); //IP des Zielrechners
          Port:=StrToInt(PreisLedCfg[j].Port);
          active :=true; //Aufbau der Verbindung
          OnError := Price_Info_ClientSocketA_Error;
          end; // create Price_Info_ClientSocket
          except
          end;
           // ShowMessage(Exception(ExceptObject).Message);
        end;
....

Nun habe ich das Problem, dass bei einem Onerror die Verbindung über einen Timer reconnected wird.
Dazu wollte ich über

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;

den besimmten clientsocket wieder auf activ setzen.

procedure TMainForm.Reconnect;
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>')
end;

aber irgendwie funktioniert es nicht, dass der clientsocket sich wieder connectet

Vielen Dank schon mal für eure Hilfe
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz