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

Code :
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
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
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...