Salutations à tous.
20 ans de FoxPro/visual FoxPro dans le corps, me voila obligé de travailler en VB6.
j'ai une application qui utilise la commande SOCK genre sock.getdata sock.senddata sock.connect sock.state etc.
Ça ressemble à Winsock mais ca n'a pas l'air d'être la même chose...
Ca sert à activer des relais et lire des valeurs a distance sur une carte de controle. il semble que la communication soit comme un port serie virtuel via une connection ethernet. il y a une adresse ip, un port et un numero de port serie
voici le code pour ouvrir
pour interroger il faut utiliser sock.getdata "02cv1=?;" ou 02 est le port serie en hex, cv est le type de demande, 1 est le bit interrogé. cette commande va me dire si ce bit est a 0 ou 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub Command5_Click() If sock.State = sckClosed Then ' if the socket is closed sock.RemoteHost = Text1.Text ' text1.text condient 192.168.1.199 sock.RemotePort = Text2.Text ' txt2.text contient 1010 sock.Connect ' start connection attempt StatusBar1.Panels(1).Text = "Connected" Else ' if the socket is open sock.Close ' close it (user disconnected) StatusBar1.Panels(1).Text = "Disconnected" End If End Sub
il y a une procédure qui commence par Private Sub sock_DataArrival(ByVal bytesTotal As Long) qui semble utilisée quand on fait des sock.getdata et des sock.senddata
question 1: cela dit il quelque chose à quelqu'un?
question 2: les données obtenues à l'intérieur de cette procédure se transferent dans une variable publique, mais la variable est toujours vide si on l'utilise en dehors de cette procedure.
question 3: si j'ai des boutons séparés pour lire une donné, ca va, mais si je met deux sock.getdata de suite dans le même bouton, j'ai erreur de communication... trop rapide? faudrait il un délais? comment?
tout est bienvenu, je suis dans la dêche...
Partager