Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Undefinierter Bezeichner: ESocketError (https://www.delphipraxis.net/10587-undefinierter-bezeichner-esocketerror.html)

Pseudemys Nelsoni 21. Okt 2003 16:06


Undefinierter Bezeichner: ESocketError
 
hoi,

ich will eine exception auslösen...

Delphi-Quellcode:
case ESocketError of
  11004: ShowMessage('bla')
end;
wieso ist ESocketError undefiniert? was fehlt in den uses?

Pseudemys Nelsoni 21. Okt 2003 16:28

Re: Undefinierter Bezeichner: ESocketError
 
k, "sockets" fehlte


Delphi-Quellcode:
            except
            if ESocketError = 11004 then
              ShowMessage('hi');
            end;

inkompatible typen?

Pseudemys Nelsoni 21. Okt 2003 18:14

Re: Undefinierter Bezeichner: ESocketError
 
kann ich überhaupt bestimmen was der fehlercode is?

Delphi-Quellcode:
except
  ShowMessage('hi');
end;
das funktioniert einwandfrei, aber ich möchte eine andere message bei fehler #10049 ausgeben als bei #11004...wie krieg das denn raus :cry:

mr2 21. Okt 2003 19:56

Re: Undefinierter Bezeichner: ESocketError
 
Du mußt immer eine konkrete Instanz der Exception angeben:
Delphi-Quellcode:
try
  ServCon.Connect;
except
  on E: ESocketError do ShowMessage(E.Message);
end
ESocketError hat (leider) keinen ErrorCode :(

Deshalb musst Du die Ereignisse / Callbacks der verwendeten Komponenten nutzen
(ScktComp.SetErrorProc, TCustomWinSocket.OnErrorEvent etc.)

Was für Komponenten nutz Du denn?

CU mr2

Pseudemys Nelsoni 21. Okt 2003 19:59

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:

Chewie 21. Okt 2003 20:01

Re: Undefinierter Bezeichner: ESocketError
 
Zitat:

Zitat von silent
hoi

wofür steht das "E:" ? ^^

E ist hier ein Platzhalter für die erhaltene Exception.

woki 21. Okt 2003 20:02

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

mr2 22. Okt 2003 20:11

Re: Undefinierter Bezeichner: ESocketError
 
dann musst Du statt
Delphi-Quellcode:
  on E: ESocketError do ShowMessage(E.Message);
einfach
Delphi-Quellcode:
  on E: EIdSocketError do begin
    if (E.ErrorCode = 11004)
    then ShowMessage(E.Message)
    else raise;
  end;
schreiben

mr2


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:36 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