Un truc qui resiste à "On Error Resume Next" ? O_O

Résolu
Reacen Messages postés 282 Date d'inscription mardi 22 août 2006 Statut Membre Dernière intervention 21 décembre 2010 - 21 juin 2009 à 15:12
Reacen Messages postés 282 Date d'inscription mardi 22 août 2006 Statut Membre Dernière intervention 21 décembre 2010 - 21 juin 2009 à 17:44
Salut tous le monde.

J'ai ce bout de code là:

<hr size= "2" width="100%" />Sub ENVOYER_VIA_TAG( LE_TAG , DATA)

On Error GoToSuivant

    For i = 1 To Winsock.UBound
   
        If  Winsock(i).TAG = LE_TAG Then Winsock(i).SendData DATA
       
Suivant:
    Next i

End Sub
<hr size ="2" width= "100%" />

J'explique mon code:

C'est un serveur (TCP Winsock) que je monte avec vb6. Tous simplement quand un client se connecte au Serveur, le programme lui créer un socket, et lui donne un Nom qu'il enregistre dans le .TAG du Socket.

Donc, a chaque fois que le serveur veux envoyer quelque chose à un Socket, il lui suffit le nom. Exemple:

ENVOYER_VIA_TAG    "Paul"  ,     "Salut Paul ça va ?"

Il cherche dans le .TAG de tous les socket, quand il trouve un Socket avec le Winsock(x).Tag = "Paul". Il vois le blabla ..

Gros bref. Mais là le probléme: des fois par exemple il ya :

Winsock(0).tag = "Paul"
Winsock(1).tag = "Aller_Les_Bleu"
Winsock(2).tag = Riens car le socket a été Unload quand l'ancienne personne a quitter.
Winsock(3).tag = "Pokemon"

donc là, Erreur 340 (L'élément du groupe de contrôles n'existe pas) quand il trouve riens dans le Winsock(2). ça m'enerve et le pire c'est que même si je tape On Error resume next, et même On Error Goto Suivant, ça resiste toujours 

Quelqu'un a une idée s'il vous plait ? (Sans oublier que je veux toujours garder le Unload Winsock(x) quand une personne quitte). Merci . Et désolé pour ce long récit. lol

Technologie Reacen²

8 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
21 juin 2009 à 16:21
salut,

"winsock" étant un groupe de contrôles, "winsock" est utilisable comme collection

un FOR EACH résoudra ton problème
++
3
Reacen Messages postés 282 Date d'inscription mardi 22 août 2006 Statut Membre Dernière intervention 21 décembre 2010
21 juin 2009 à 16:38
Yeah Super ! j'ai pas penser a ça, "For Each Control in Winsock" Super Merci ça marche mannant

Merci [../auteur/PCPT/401740.aspx PCPT]

Technologie Reacen²
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
21 juin 2009 à 16:43
Rappel : C'est une très mauvaise idée d'appeler ses objets, controles ou variables, comme des noms d'objet du système ou comme un mot clé du langage.
Un jour, le compilateur aura du mal à savoir si tu veux t'adresser à un de tes objets ou bien à la classe du système, les erreurs que cela peut entrainer ne sont pas facile à interpréter (déclenchement de message d'erreur n'ayant parfois rien à voir avec l'objet).
0
Reacen Messages postés 282 Date d'inscription mardi 22 août 2006 Statut Membre Dernière intervention 21 décembre 2010
21 juin 2009 à 16:50
C'est vrais oui. Merci jack

Mais, j'ai remarquer que beaucoup de sources ici usent aussi "For Each Control in Blabla" (Control). Et pi ça m'as jamais causer de problèmes moi ...

Technologie Reacen²
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
21 juin 2009 à 16:57
bin ouai, y'a de tout, comme codes....
faut pas prendre les mauvais exemples en référence

for each ctrl in wsocks, par exemple
0
Reacen Messages postés 282 Date d'inscription mardi 22 août 2006 Statut Membre Dernière intervention 21 décembre 2010
21 juin 2009 à 17:00
Voila biens dis Merci.

Technologie Reacen²
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
21 juin 2009 à 17:12
JE ne pense pas que Jack voulais parler du For Each Control .... (bien que cela s'applique là aussi). Sa remarque était plutôt pour ta variable Winsock() qui à la même nom que la classe (controle) Winsock.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
Reacen Messages postés 282 Date d'inscription mardi 22 août 2006 Statut Membre Dernière intervention 21 décembre 2010
21 juin 2009 à 17:44
Ah...

Technologie Reacen²
0
Rejoignez-nous