Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi kann EIdSocketError nicht handlen (https://www.delphipraxis.net/22669-kann-eidsocketerror-nicht-handlen.html)

Gambit 21. Mai 2004 09:01


kann EIdSocketError nicht handlen
 
Hallo,
ich bekomme in meiner Anwendung ab und zu eine EIdSocketError Exception #10054. Nun habe ich das ganze in einen Try-Except Block gepackt. Wenn das Programm in der IDE läuft, habe ich "Stop bei Sprach Exceptions" abgeschaltet.
Trotzdem bekomme ich immer noch die EIdSocketError-Fehlermeldung. Eigentlich dürfte die doch nicht mehr auftauchen, oder?


Delphi-Quellcode:
Try
      doSomething(i);
   Except
      on EIdSocketError do
      begin
        ex2:= ex2+1;
        HandleEIdSocketError;
      end;
      on EIdConnClosedGracefully do
      begin
        ex1:= ex1+1;
        HandleEIdConnClosedGracefully ;
      end else
      begin
        ex3:= ex3+1;
        HandleOthers;
      end;
   end;
Was mach ich denn noch falsch?

Gruß

Gambit

Muetze1 21. Mai 2004 16:25

Re: kann EIdSocketError nicht handlen
 
Moin!

Füge doch einfach bei den Exceptions die er nicht melden soll die EIdSocketError Exception hinzu.

MfG
Muetze1

Gambit 22. Mai 2004 13:08

Re: kann EIdSocketError nicht handlen
 
So einfach ist es scheinbar nicht...

in der Procedur doSomething wird eine Verbindung hergestellt z.B mit

Delphi-Quellcode:
aText:= idHTTP1.get(URL);
dann scheint es zu funktionieren, wenn man im Except-Block der unten dargestellten Routine die Verbindung beim Auftreten der SocketError-Exception auch Clientseitig zurücksetzt:

Delphi-Quellcode:
Try
      doSomething(i);
   Except
      on EIdSocketError do
      begin
        ex2:= ex2+1;
        idHTTP1.disconnect;  //hier zurücksetzen
        HandleEIdSocketError;
      end;
      on EIdConnClosedGracefully do
      begin
        ex1:= ex1+1;
        HandleEIdConnClosedGracefully ;
      end else
      begin
        ex3:= ex3+1;
        HandleOthers;
      end;
   end;
Ich muss allerding auch noch hinzufügen, dass der ganze Try-Except-Block in einer Schleife steht, die erst unterbrochen wird, wenn die Verbindung erfolgreich hergestellt bzw. wieder hergestellt werden konnte...meine Schuld, sorry...


Gruß

Gambit


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 Uhr.

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