Gestion des évenements d'un contrôle winsock.

Systech_Systems Messages postés 15 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 13 janvier 2010 - 13 janv. 2010 à 18:00
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 13 janv. 2010 à 18:40
Bonjour,

Je suis face à un petit probleme,

J'ai deux forms. Sur une se trouve un controle winsock, je voudrais recuperer l'evenement DataArrival sur l'autre form. Comment faire.

J'ai essayé sur ma deuxieme form

Private WithEvents sck_Main As Winsock

Private Sub Form_Load()

Set sck_Main = Frm_Main.Sck(Client.SOCKET_Main)

End Sub

J'obtiens l'erreur suivante

Erreur 459 : L'objet ou la classe ne gèrent pas le jeu d'évenements.


Une solution ???

Merci d'avance

1 réponse

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
13 janv. 2010 à 18:40
Salut
Que représentent Sck, Client , SOCKET_Main ?
Sck serait-il indexé ?
Ca manque de précision.

Oui, tu peux déclarer un Winsock en WithEvents dans une forme, mais tu ne pourras pas le rattacher à un objet existant.

Tu peux par contre renvoyer vers une Sub appartenant à ta Form2 :
- Tu places ton Winsock sur Form1
- Dans Form2, tu crées une Sub perso :
Public Sub maSub(ByVal BytesTotal As Long)
    Dim sTemp As String
    Form1.Winsock1.GetData sTemp, vbString, BytesTotal
End Sub

- Dans le Winsock1_DataArrival, tu mets ceci :
Call maSub(bytesTotal)


Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous