![]() |
Undefinierter Bezeichner: ESocketError
hoi,
ich will eine exception auslösen...
Delphi-Quellcode:
wieso ist ESocketError undefiniert? was fehlt in den uses?
case ESocketError of
11004: ShowMessage('bla') end; |
Re: Undefinierter Bezeichner: ESocketError
k, "sockets" fehlte
Delphi-Quellcode:
except
if ESocketError = 11004 then ShowMessage('hi'); end; inkompatible typen? |
Re: Undefinierter Bezeichner: ESocketError
kann ich überhaupt bestimmen was der fehlercode is?
Delphi-Quellcode:
das funktioniert einwandfrei, aber ich möchte eine andere message bei fehler #10049 ausgeben als bei #11004...wie krieg das denn raus :cry:
except
ShowMessage('hi'); end; |
Re: Undefinierter Bezeichner: ESocketError
Du mußt immer eine konkrete Instanz der Exception angeben:
Delphi-Quellcode:
ESocketError hat (leider) keinen ErrorCode :(
try
ServCon.Connect; except on E: ESocketError do ShowMessage(E.Message); end Deshalb musst Du die Ereignisse / Callbacks der verwendeten Komponenten nutzen (ScktComp.SetErrorProc, TCustomWinSocket.OnErrorEvent etc.) Was für Komponenten nutz Du denn? CU mr2 |
Re: Undefinierter Bezeichner: ESocketError
hoi
wofür steht das "E:" ? ^^ ich benutze die Indy komp "idHTTP" wenn ich nicht mit dem internet verbunden will und versuchen möchte eine datei runter zu laden, kommt der "socket error #11004" << und genau auf die möchte ich reagieren :thuimb: |
Re: Undefinierter Bezeichner: ESocketError
Zitat:
|
Re: Undefinierter Bezeichner: ESocketError
Hi,
mal Hand aufs Herz, schonmal mit der Onlinehilfe versucht: soviel auf die Schnelle: ESocketerror ist definitiv keine Integervariable, also können deine Abfragen auch nicht funktionieren. ESocketError ist eine von Exception abgeleitete Klasse, von der im Falle eines Fehlers eine Instanz erzeugt wird, die kannst Du dann in except auswerten, und auch die originle Meldung durch eine eigene ersetzen. Schau mal in der Onlinehilfe unter try except, raise, und on .. nach. Da findet sich alles weitere Grüsse Woki |
Re: Undefinierter Bezeichner: ESocketError
dann musst Du statt
Delphi-Quellcode:
einfach
on E: ESocketError do ShowMessage(E.Message);
Delphi-Quellcode:
schreiben
on E: EIdSocketError do begin
if (E.ErrorCode = 11004) then ShowMessage(E.Message) else raise; end; mr2 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 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 by Thomas Breitkreuz