![]() |
INDY9 Exceptions beim Debuggen
Bei der Verwendung von Indy in der Version 9 kommt es beim Debuggen öfters vor das man Fehlermeldungen .. oder sagen wir besser Ereignisse :gruebel: .. in der Form
EIdConnectTimeout EIdConnClosedGracefully EIdSocketError erhält was nur lästig ist und die sich NICHT durch einen try except Block abfangen lassen, was man normalerweise vermuten würde. Eben weil die Entwickler von Indy es nicht als Fehler (für das ein EXCEPT stattfinden würde) deklarieren, sondern nur eine Ereignisnachricht. Irgend wo in einer Include Date wird dann etwas davon gefaselt es in die Liste der "Silent Exceptions" aufzunehmen. Doch wo stehen die ? :?: Die Lösung des Problems ist Trivial :wall: und nachdem ich mich selbst mit diesem Problem einige Zeit herumgeärgert habe möchte ich die Lösung nicht für mich behalten. :!: Unter: Tools -> Debugger Optionen -> Sprach-Exceptions einfach die oben genannten Ereignisse mittels [Hinzufügen] einfügen und Voilá er ignoriert fürderhin beim Debuggen dieses Ereignis. Mit dem Häckchen an der Seite kann man dies bequem ein und ausschalten. Schöner wäre es natürlich das Ereignis über einen Compilereschalter hinzuzufügen, aber ich habe leider keinen gefunden .. na was solls .. Lustigerweise funktioniert das Beispiel mit dem Timeouts trotz das der Debugger sie ignoriert .. oder sagen wir mal besser .. er schmeißt sie nicht mehr in eine DialogBox auf den Bildschirm sondern behandelt sie so wie man es von try..except gewohnt ist ;-) Unterhalb noch einmal ein Beispiel das mir soviel Probleme bereitete ;-)
Code:
...
with IdHTTP1 do begin // ein HTTP Client Objekt IdHTTP1.Host:=192.168.1.2; IdHTTP1.Port:=80; if IdHTTP1.Connected = False then begin try begin // Ein Connect auf die IP versuchen IdHTTP1.Connect(100); // TimeOut 100 Millisekunden { ... hier das tun was nach dem Connect passieren soll ... } end except { ... hier das tun was bei einem TimeOut passieren soll ... } end end else begin { ... hier das tun was passieren soll wenn schon Connected ... } end; Disconnect; end; ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 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