whats new ¦  programming tips ¦  indy articles ¦  intraweb articles ¦  informations ¦  links ¦  interviews
 misc ¦  tutorials ¦  Add&Win Game

Tips (1541)

Database (90)
Files (137)
Forms (107)
Graphic (114)
IDE (21)
Indy (5)
Internet / LAN (130)
IntraWeb (0)
Math (76)
Misc (126)
Multimedia (45)
Objects/
ActiveX (51)

OpenTools API (3)
Printing (35)
Strings (83)
System (266)
VCL (242)

Top15

Tips sort by
component


Search Tip

Add new Tip

Add&Win Game

Advertising

30 Visitors Online


 
...display understandable socket error descriptions?
Autor: NuCHiLL
Homepage: http://www.nuchill.de
[ Print tip ]  

Tip Rating (20):  
     


{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dieses Beispiel fängt die Fehlercodes von TServerSocket und
TClientSocket ab und zeigt diese in "verständlicher" Form an...
Die FehlerCodes sind natürlich erweiterbar!

Catch the error issued by TServerSocket and TClientSocket and show
a corresponding text. List of error codes can be improved.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}

Function NetErrMessage(ErrorCode: INTEGER): STRING;
Begin
  CASE 
ErrorCode OF
     
10004: result := 'Aufruf wurde abgebrochen!';
     10013: result := 'Zufriffsfehler!';
     10014: result := 'Falsche Parameter!';
     10038: result := 'Ungültiger Socket angegeben!';
     10039: result := 'Es wurde keine Zieladresse angegeben!';
     10048: result := 'IP-Adresse bzw. Port werden schon/noch benutzt!';
     10049: result := 'Port oder Adresse nicht verfügbar!';
     10050: result := 'Netzwerk reagiert nicht!';
     10051: result := 'Netzwerk ist nicht erreichbar!';
     10054: result := 'Verbindung wurde getrennt!';
     10056: result := 'Socket schon verbunden!';
     10060: result := 'Aufruf dauert zu lange, daher Abbruch!';
     10061: result := 'Server nicht gefunden, oder Verbindung nicht akzeptiert!';
     11001: result := 'DNS-Server nicht gefunden!';
  ELSE
    
result := 'Ein Unbekannter Fehler ist aufgetreten. [' + IntToStr(ErrorCode) + ']';
  END;
End;

// +++++ clien-error-event +++++++++++++++++++++++++++++++++++++++++++

procedure TForm1.clientError(Sender: TObject; Socket: TCustomWinSocket;
  ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
  if 
Errorcode<>0 then
    
Showmessage('client: '+NetErrMessage(ErrorCode));
    errorcode:=0;
end;

// +++++ server-error event ++++++++++++++++++++++++++++++++++++++++++

procedure TForm1.serverClientError(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
  if 
Errorcode<>0 then
    
Showmessage('Server: '+NetErrMessage(ErrorCode));
    errorcode:=0;
end;


 

Rate this tip:

poor
very good


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners