Moin!
Wie kommt ihr nur alle auf die
Indy Komponenten? ClientSocket1 sieht für mich eher nach einer TClientSocket Instanz aus. Diese kann man noch so oft in einem Try/Except Block packen, das bringt meist nix, da der Socket in einem Thread läuft und somit auch die Exceptions unsynchron auftreten. Dafür hat der TClientSocket auch extra ein OnError Event um mit
Exception umgehen zu können und diese auch zu unterdrücken (ErrorCode auf 0 setzen, siehe Hilfe).
Auch ist es so falsch programmiert in dem Beispiel. Wenn man die Methode Open aufruft, dann fängt der Socket an sich zu verbinden und versucht eine Verbindung aufzubauen - dieses wird aber in dem Thread erledigt und daher passiert das unsynchron zum
VCL Hauptthread und somti wird danach SendText() aufgerufen obwohl er vielleicht noch beim verbinden ist. Es gibt extra ein OnConnect bzw. ein OnClientConnect um zu signalisieren wann die Verbindung aufgebaut wurde. Ein solches lineares aufrufen wie in dem Beispiel ist völliger Blödsinn und klappt meistens nur, wenn Client und Server auf dem lokalen Rechner laufen, dieser schnell genug ist und nicht ausgelastet. Selbst bei 2 Rechnern im lokalen LAN haut dies vielleicht öfters noch hin, aber es gibt keine Garantie. Über das Internet bzw. VPN oder ein anderes WAN haut der Code garantiert nicht mehr hin...
MfG
Muetze1