![]() |
Try--Except Anweisung
Hallo,
also ich möchte ein simple Funktion einbauen, bei der ich mit einem anderen pC chatten kann. Dazu muss ich mich ja mit ihm verbinden, was auch problemlos funktioniert, wenn er den server logischerweise gestartet hat :-D Ich als Client möchte ja nun zu ihm connecten, doch wenn er den Host noch nicht gestartet hat, tritt ein Axynchron-Fehler auf, den ich mit einer try except anweisung umgehen möchte mein source:
Delphi-Quellcode:
eigentlich ist es doch so, wenn er keine möglichkeit hat den host zu finden, bricht er ab und führt die exception aus oder ?
begin
try clientsocket1.Address:= edit1.Text; clientsocket1.port := strtoint(edit2.Text); clientsocket1.Active:= true; if clientsocket1.Active = true then button1.Font.Color:= cllime; except showmessage('Error!') end; mfg counter |
Re: Try--Except Anweisung
Du musst natürlich noch die Exception abfragen. Notfalls alle
|
Re: Try--Except Anweisung
Delphi-Quellcode:
try
... except on e: exception do showmessage('Error!'+#13#10#13#10+e.Message); end; |
Re: Try--Except Anweisung
hmmmm
also wenn ich zum beispiel das genauso mache, wie:
Delphi-Quellcode:
try
... except on e: exception do showmessage('Error!'+#13#10#13#10+e.Message); end; dann kommt genau der gleiche Fehler ![]() |
Re: Try--Except Anweisung
Aber nur innerhalb der IDE.
|
Re: Try--Except Anweisung
hm leider kommt der fehler auch außererhalb :-(
und nicht das, was ich schreibe...naja ich werd nochmal schauen |
Re: Try--Except Anweisung
Moin!
Die Sockets sind nicht die Indies und sind somit nicht mit solchen Exception Handlern benutzbar. Nun noch ein paar Hinweise: 1. Wenn du Active auf true setzt, dann ist die Abfrage danach völlig unnütz, da die Sockets erstmal die Verbindung aufbauen und das dauert länger als die millionstel Sekunden zwischen der Zuweisung und der Abfrage. Die Sockets arbeiten auf Basis von Events und geben dir Bescheid, wenn die Verbindung aufgebaut werden konnte oder halt auch nicht. Siehe dazu die Eventhandler (Ereignisse) an, also OnConnect, OnError, etc. 2. Die Exceptions von den Sockets werden nicht aus deren Threads synchronisiert, um aber trotzdem die Fehler behandeln zu können gibt es den o.g. OnError Ereignishandler. Dort kannst du dir eine eigene entsprechende Behandlung für den Fehler schreiben und auch auf Wunsch die Ausgabe der Exception unterdrücken (ErrorCode := 0, siehe Hilfe). MfG Muetze1 |
Re: Try--Except Anweisung
vielen dank, das hat genauso funktioniert wie du es beschrieben hast.
Mit deiner HIlfe bin ich auch nochmal auf diese Seite hier gestoßen ![]() falls andere noch probleme habe, da ist das auch nochmal alles geschildert vielen dank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:13 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