Soyez le premier à donner votre avis sur cette source.
Snippet vu 28 455 fois - Téléchargée 32 fois
procedure TForm1.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); var ErrorMsg: string; begin // définition du message d'erreur en fonction du code d'erreur case ErrorCode of 10004 : ErrorMsg := 'Interrupted function call.'; 10013 : ErrorMsg := 'Permission Refusée.'; 10014 : ErrorMsg := 'Mauvaise adresse.'; 10022 : ErrorMsg := 'Arguments Invalides.'; 10024 : ErrorMsg := 'Trop de fichiers ouverts.'; 10035 : ErrorMsg := 'Resource temporarily unavailable.'; 10036 : ErrorMsg := 'Operation en cours.'; 10037 : ErrorMsg := 'Operation déjà en cours.'; 10038 : ErrorMsg := 'Socket operation on non-socket.'; 10039 : ErrorMsg := 'Destination address required.'; 10040 : ErrorMsg := 'Message trop long.'; 10041 : ErrorMsg := 'Protocol wrong type for socket.'; 10042 : ErrorMsg := 'Bad protocol option.'; 10043 : ErrorMsg := 'Protocol not supported.'; 10044 : ErrorMsg := 'Socket type not supported.'; 10045 : ErrorMsg := 'Operation not supported.'; 10046 : ErrorMsg := 'Protocol family not supported.'; 10047 : ErrorMsg := 'Address family not supported by protocol family.'; 10048 : ErrorMsg := 'Address already in use.'; 10049 : ErrorMsg := 'Cannot assign requested address.'; 10050 : ErrorMsg := 'Network is down.'; 10051 : ErrorMsg := 'Network is unreachable.'; 10052 : ErrorMsg := 'Network dropped connection on reset.'; 10053 : ErrorMsg := 'Software caused connection abort.'; 10054 : ErrorMsg := 'Connection reset by peer.'; 10055 : ErrorMsg := 'No buffer space available.'; 10056 : ErrorMsg := 'Socket is already connected.'; 10057 : ErrorMsg := 'Socket is not connected.'; 10058 : ErrorMsg := 'Cannot send after socket shutdown.'; 10060 : ErrorMsg := 'Connection timed out.'; 10061 : ErrorMsg := 'Connection refused.'; 10064 : ErrorMsg := 'Host is down.'; 10065 : ErrorMsg := 'No route to host.'; 10067 : ErrorMsg := 'Too many processes.'; 10091 : ErrorMsg := 'Network subsystem is unavailable.'; 10092 : ErrorMsg := 'WINSOCK.DLL version out of range.'; 10093 : ErrorMsg := 'Successful WSAStartup not yet performed.'; 10094 : ErrorMsg := 'Graceful shutdown in progress.'; 11001 : ErrorMsg := 'Host not found.'; 11002 : ErrorMsg := 'Non-authoritative host not found.'; 11003 : ErrorMsg := 'This is a non-recoverable error.'; 11004 : ErrorMsg := 'Valid name, no data record of requested type.'; else // erreur inconnue ErrorMsg := 'Unknown socket error.'; end; // mise en forme de la signification de l'erreur ErrorMsg := 'Socket Error n°' + IntToStr(ErrorCode) + ' : ' + ErrorMsg; // l'erreur est traitée ErrorCode := 0; // définition du type d'erreur case ErrorEvent of eeSend : ErrorMsg := 'Writing ' + ErrorMsg; eeReceive : ErrorMsg := 'Reading ' + ErrorMsg; eeConnect : ErrorMsg := 'Connecting ' + ErrorMsg; eeDisconnect : ErrorMsg := 'Disconnecting ' + ErrorMsg; eeAccept : ErrorMsg := 'Accepting ' + ErrorMsg; else // erreur inconnue ErrorMsg := 'Unknown ' + ErrorMsg; end; // notifier l'utilisateur de l'erreur Application.MessageBox(PChar(ErrorMsg), PChar('Erreur de connexion'), MB_OK or MB_ICONERROR); end;
10 juin 2002 à 03:33
8 juin 2002 à 10:56
ResourceString
10004 = 'Interrupted function call.';
10013 = 'Permission Refusée.';
10014 = 'Mauvaise adresse.';
10022 = 'Arguments Invalides.';
etc...
Puis d'appeler la chaine à afficher de la façon suivante :
//Si la chaîne de ressource n'existe pas, LoadStr renvoie une chaîne vide
ErrorMsg := LoadStr(ErrorCode);
If ErrorMsg = EmptyStr then
ErrorMsg := 'Unknown socket error.';
Ainsi, le code devient facilement réutilisable et plus facile à lire.
Je t'envoie le code proposé par mail.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.