Bonjour, Tu peut déjà regarder ce lien. http://www.vbfrance.com/code.aspx?ID 627 Grand merci a nix pour son travail. -- Cordialement Joss
"Long YE-SU" a écrit :
Bonjour, Quelqu'un a déjà fait en VB V6 une communication vers un automate S7300 avec une écriture par bloc ?
je recherche des exemples de code...
Sincères salutations Long YE-SU
Tiouane
Bonjour,
Voici un exemple. C'est ce que tu cherchais ?
Bonne programmation.
Public Sub Creation_Items_NoGamme2()
'===== Creation des items pour la communication
Dim ErrorString As String
'===== Contrôle si la communication est valide If Flag_Comunicazione_Abilitata = 0 Then Exit Sub End If
On Error GoTo Erreur_Creation_Items_NoGamme2
'===== Contrôle si le serveur est connecté If ServerConnected = -1 Then '===== Contrôle l'ajout du groupe If GroupAdded = -1 Then '===== Contrôle l'ajout des items If ItemAdded_NoGamme2 = 0 Then For n = 1 To Nb_Items_NoGamme2 AccPath_NoGamme2(n) = "" ClientHandle_NoGamme2(n) = n Next n End If Set ItemCollection = GroupObj.OPCItems ItemCollection.AddItems Nb_Items_NoGamme2, ItemId_NoGamme2, ClientHandle_NoGamme2, ItemServerHandle_NoGamme2, PError_NoGamme2, ReqDataTypes_NoGamme2, AccPath_NoGamme2 '===== Vérifie qu'il n'y a pas d'erreur ItemAdded_NoGamme2 = -1 For n = 1 To Nb_Items_NoGamme2 If PError_NoGamme2(n) <> 0 Then ErrorString = ServerObj.GetErrorString(PError_NoGamme2(n)) MsgBox "Erreur sur implémentation lien NoGamme2 " + ErrorString ItemAdded_NoGamme2 = 0 Exit For End If Next n End If End If
Erase PError_NoGamme2
Exit Sub
Erreur_Creation_Items_NoGamme2:
MsgBox Err.Description
End Sub
Public Sub Initialisation_Items_NoGamme2()
Dim Riferimento_Db Dim Riferimento_Posizione
'===== Contrôle si la communication est active If Flag_Comunicazione_Abilitata = 0 Then Exit Sub End If
'===== Controllo se ho la comunicazione abilitata If Flag_Comunicazione_Abilitata = 0 Then Exit Sub End If
On Error GoTo Errore_Rimozione_Items_NoGamme2
'===== Contrôle si le serveur est connecté If ServerConnected = -1 Then '===== Contrôle l'ajout du groupe If GroupAdded = -1 Then '===== Contrôle l'ajout des items If ItemAdded_NoGamme2 = -1 Then ItemCollection.Remove Nb_Items_NoGamme2, ItemServerHandle_NoGamme2, PError_NoGamme2 '===== Vérifie s'il n'y a pas d'erreur ItemAdded_NoGamme2 = 0 For n = 1 To Nb_Items_NoGamme2 If PError_NoGamme2(n) <> 0 Then ErrorString = ServerObj.GetErrorString(PError_NoGamme2(n)) MsgBox "Erreur dans RemoveItems pour NoGamme2 " + ErrorString ItemAdded_NoGamme2 = -1 Exit For End If Next n End If End If End If
Erase PError_NoGamme2
Exit Sub
Errore_Rimozione_Items_NoGamme2:
MsgBox Err.Description
End Sub Public Sub Transmission_NoGamme2()
'===== Carico i dati dal database Dim Value_NoGamme2(Nb_Items_NoGamme2) As Variant
Dim Numero_Record As Long Dim Db As Database Dim Ds As Dynaset Dim Stringa As String Dim Posizione As Integer Dim Numero_a_Imprimer As String Dim PosNo As Integer Dim Reponse
On Error GoTo Erreur_Transmission_NoGamme2
'===== Preparo il criterio di ricerca '===== Intestazione Stringa = "SELECT * FROM Programmi Order by Programmi.Codice_numerico"
'===== Apro il database Set Db = OpenDatabase(Database_Programmi, False, False)
'===== Creo un dynaset Set Ds = Db.CreateDynaset(Stringa)
'===== Controllo il numero di record trovati Ds.MoveLast Numero_Record = Ds.RecordCount Ds.MoveFirst If Numero_Record > 98 Then Reponse = MsgBox("Limite de 99 enregistrements atteinte !!! " & vbCrLf & "Veuillez supprimer des gammes avant d'en enregistrer d'autre.", vbExclamation) Else '===== Controllo se ho creato gli items If ItemAdded_NoGamme2 <> 0 Then '===== Preparo i parametri da scrivere Posizione = 0
'===== Inizio la ricerca Do While Not Ds.EOF '===== Codice numerico Posizione = Posizione + 1 If Not (IsNull(Ds(Campo_Modello_28))) Then Value_NoGamme2(Posizione) = Val(Trim$(Ds(Campo_Modello_28))) Else Value_NoGamme2(Posizione) = Val(0) End If
'===== Copic muffola Posizione = Posizione + 1
If Not (IsNull(Ds(Campo_Modello_2))) Then PosNo = InStr(1, Trim$(Ds(Campo_Modello_2)), "-") Numero_a_Imprimer = Mid(Trim$(Ds(Campo_Modello_2)), PosNo + 1, Len(Trim$(Ds(Campo_Modello_2))) - PosNo)
Value_NoGamme2(Posizione) = CDbl(Val(Numero_a_Imprimer)) Else Value_NoGamme2(Posizione) = CDbl(Val(0)) End If
Ds.MoveNext Loop Do While Posizione < Nb_Items_NoGamme2 Posizione = Posizione + 1 Value_NoGamme2(Posizione) = Val(0) Loop End If Ds.Close Db.Close GroupObj.SyncWrite Nb_Items_NoGamme2, ItemServerHandle_NoGamme2, Value_NoGamme2, PError_NoGamme2 '===== Verifico se ci sono errori For n = 1 To Nb_Items_NoGamme2 If PError_NoGamme2(n) <> 0 Then ErrorString = ServerObj.GetErrorString(PError_NoGamme2(n)) MsgBox "Erreur dans transmission_NoGamme2 " + ErrorString Exit For End If Next n End If Exit Sub
Erreur_Transmission_NoGamme2:
Select Case Err Case 3021 Ds.Close Db.Close Exit Sub Case 91, 3044 Db.Close Exit Sub Case Else MsgBox "Form 5 - Visualizza_Dati - " + Error$ Ds.Close Db.Close Exit Sub Resume End Select Resume Next End Sub
Public Sub Main() Initialisation_Items_NoGamme2 Creation_Items_NoGamme2
'Transmission_NoGamme2 sert à envoyer des données à l'automate. 'Rimozione_Items_NoGamme2 sert à supprimer les liens à la fermeture de l'application End Sub
"Long YE-SU" a écrit dans le message de news: 43df78cf$0$21284$
Bonjour, Quelqu'un a déjà fait en VB V6 une communication vers un automate S7300 avec une écriture par bloc ?
je recherche des exemples de code...
Sincères salutations Long YE-SU
Bonjour,
Voici un exemple. C'est ce que tu cherchais ?
Bonne programmation.
Public Sub Creation_Items_NoGamme2()
'===== Creation des items pour la communication
Dim ErrorString As String
'===== Contrôle si la communication est valide
If Flag_Comunicazione_Abilitata = 0 Then
Exit Sub
End If
On Error GoTo Erreur_Creation_Items_NoGamme2
'===== Contrôle si le serveur est connecté
If ServerConnected = -1 Then
'===== Contrôle l'ajout du groupe
If GroupAdded = -1 Then
'===== Contrôle l'ajout des items
If ItemAdded_NoGamme2 = 0 Then
For n = 1 To Nb_Items_NoGamme2
AccPath_NoGamme2(n) = ""
ClientHandle_NoGamme2(n) = n
Next n
End If
Set ItemCollection = GroupObj.OPCItems
ItemCollection.AddItems Nb_Items_NoGamme2, ItemId_NoGamme2,
ClientHandle_NoGamme2, ItemServerHandle_NoGamme2, PError_NoGamme2,
ReqDataTypes_NoGamme2, AccPath_NoGamme2
'===== Vérifie qu'il n'y a pas d'erreur
ItemAdded_NoGamme2 = -1
For n = 1 To Nb_Items_NoGamme2
If PError_NoGamme2(n) <> 0 Then
ErrorString = ServerObj.GetErrorString(PError_NoGamme2(n))
MsgBox "Erreur sur implémentation lien NoGamme2 " +
ErrorString
ItemAdded_NoGamme2 = 0
Exit For
End If
Next n
End If
End If
Erase PError_NoGamme2
Exit Sub
Erreur_Creation_Items_NoGamme2:
MsgBox Err.Description
End Sub
Public Sub Initialisation_Items_NoGamme2()
Dim Riferimento_Db
Dim Riferimento_Posizione
'===== Contrôle si la communication est active
If Flag_Comunicazione_Abilitata = 0 Then
Exit Sub
End If
'===== Controllo se ho la comunicazione abilitata
If Flag_Comunicazione_Abilitata = 0 Then
Exit Sub
End If
On Error GoTo Errore_Rimozione_Items_NoGamme2
'===== Contrôle si le serveur est connecté
If ServerConnected = -1 Then
'===== Contrôle l'ajout du groupe
If GroupAdded = -1 Then
'===== Contrôle l'ajout des items
If ItemAdded_NoGamme2 = -1 Then
ItemCollection.Remove Nb_Items_NoGamme2,
ItemServerHandle_NoGamme2, PError_NoGamme2
'===== Vérifie s'il n'y a pas d'erreur
ItemAdded_NoGamme2 = 0
For n = 1 To Nb_Items_NoGamme2
If PError_NoGamme2(n) <> 0 Then
ErrorString =
ServerObj.GetErrorString(PError_NoGamme2(n))
MsgBox "Erreur dans RemoveItems pour NoGamme2 " +
ErrorString
ItemAdded_NoGamme2 = -1
Exit For
End If
Next n
End If
End If
End If
Erase PError_NoGamme2
Exit Sub
Errore_Rimozione_Items_NoGamme2:
MsgBox Err.Description
End Sub
Public Sub Transmission_NoGamme2()
'===== Carico i dati dal database
Dim Value_NoGamme2(Nb_Items_NoGamme2) As Variant
Dim Numero_Record As Long
Dim Db As Database
Dim Ds As Dynaset
Dim Stringa As String
Dim Posizione As Integer
Dim Numero_a_Imprimer As String
Dim PosNo As Integer
Dim Reponse
On Error GoTo Erreur_Transmission_NoGamme2
'===== Preparo il criterio di ricerca
'===== Intestazione
Stringa = "SELECT * FROM Programmi Order by Programmi.Codice_numerico"
'===== Apro il database
Set Db = OpenDatabase(Database_Programmi, False, False)
'===== Creo un dynaset
Set Ds = Db.CreateDynaset(Stringa)
'===== Controllo il numero di record trovati
Ds.MoveLast
Numero_Record = Ds.RecordCount
Ds.MoveFirst
If Numero_Record > 98 Then
Reponse = MsgBox("Limite de 99 enregistrements atteinte !!! " & vbCrLf &
"Veuillez supprimer des gammes avant d'en enregistrer d'autre.",
vbExclamation)
Else
'===== Controllo se ho creato gli items
If ItemAdded_NoGamme2 <> 0 Then
'===== Preparo i parametri da scrivere
Posizione = 0
'===== Inizio la ricerca
Do While Not Ds.EOF
'===== Codice numerico
Posizione = Posizione + 1
If Not (IsNull(Ds(Campo_Modello_28))) Then
Value_NoGamme2(Posizione) = Val(Trim$(Ds(Campo_Modello_28)))
Else
Value_NoGamme2(Posizione) = Val(0)
End If
'===== Copic muffola
Posizione = Posizione + 1
If Not (IsNull(Ds(Campo_Modello_2))) Then
PosNo = InStr(1, Trim$(Ds(Campo_Modello_2)), "-")
Numero_a_Imprimer = Mid(Trim$(Ds(Campo_Modello_2)), PosNo + 1,
Len(Trim$(Ds(Campo_Modello_2))) - PosNo)
Value_NoGamme2(Posizione) = CDbl(Val(Numero_a_Imprimer))
Else
Value_NoGamme2(Posizione) = CDbl(Val(0))
End If
Ds.MoveNext
Loop
Do While Posizione < Nb_Items_NoGamme2
Posizione = Posizione + 1
Value_NoGamme2(Posizione) = Val(0)
Loop
End If
Ds.Close
Db.Close
GroupObj.SyncWrite Nb_Items_NoGamme2, ItemServerHandle_NoGamme2,
Value_NoGamme2, PError_NoGamme2
'===== Verifico se ci sono errori
For n = 1 To Nb_Items_NoGamme2
If PError_NoGamme2(n) <> 0 Then
ErrorString = ServerObj.GetErrorString(PError_NoGamme2(n))
MsgBox "Erreur dans transmission_NoGamme2 " + ErrorString
Exit For
End If
Next n
End If
Exit Sub
Erreur_Transmission_NoGamme2:
Select Case Err
Case 3021
Ds.Close
Db.Close
Exit Sub
Case 91, 3044
Db.Close
Exit Sub
Case Else
MsgBox "Form 5 - Visualizza_Dati - " + Error$
Ds.Close
Db.Close
Exit Sub
Resume
End Select
Resume Next
End Sub
Public Sub Main()
Initialisation_Items_NoGamme2
Creation_Items_NoGamme2
'Transmission_NoGamme2 sert à envoyer des données à l'automate.
'Rimozione_Items_NoGamme2 sert à supprimer les liens à la fermeture de
l'application
End Sub
"Long YE-SU" <yesu.sdsi@wanadoo.fr> a écrit dans le message de news:
43df78cf$0$21284$8fcfb975@news.wanadoo.fr...
Bonjour,
Quelqu'un a déjà fait en VB V6 une communication
vers un automate S7300 avec une écriture par bloc ?
'===== Contrôle si la communication est valide If Flag_Comunicazione_Abilitata = 0 Then Exit Sub End If
On Error GoTo Erreur_Creation_Items_NoGamme2
'===== Contrôle si le serveur est connecté If ServerConnected = -1 Then '===== Contrôle l'ajout du groupe If GroupAdded = -1 Then '===== Contrôle l'ajout des items If ItemAdded_NoGamme2 = 0 Then For n = 1 To Nb_Items_NoGamme2 AccPath_NoGamme2(n) = "" ClientHandle_NoGamme2(n) = n Next n End If Set ItemCollection = GroupObj.OPCItems ItemCollection.AddItems Nb_Items_NoGamme2, ItemId_NoGamme2, ClientHandle_NoGamme2, ItemServerHandle_NoGamme2, PError_NoGamme2, ReqDataTypes_NoGamme2, AccPath_NoGamme2 '===== Vérifie qu'il n'y a pas d'erreur ItemAdded_NoGamme2 = -1 For n = 1 To Nb_Items_NoGamme2 If PError_NoGamme2(n) <> 0 Then ErrorString = ServerObj.GetErrorString(PError_NoGamme2(n)) MsgBox "Erreur sur implémentation lien NoGamme2 " + ErrorString ItemAdded_NoGamme2 = 0 Exit For End If Next n End If End If
Erase PError_NoGamme2
Exit Sub
Erreur_Creation_Items_NoGamme2:
MsgBox Err.Description
End Sub
Public Sub Initialisation_Items_NoGamme2()
Dim Riferimento_Db Dim Riferimento_Posizione
'===== Contrôle si la communication est active If Flag_Comunicazione_Abilitata = 0 Then Exit Sub End If
'===== Controllo se ho la comunicazione abilitata If Flag_Comunicazione_Abilitata = 0 Then Exit Sub End If
On Error GoTo Errore_Rimozione_Items_NoGamme2
'===== Contrôle si le serveur est connecté If ServerConnected = -1 Then '===== Contrôle l'ajout du groupe If GroupAdded = -1 Then '===== Contrôle l'ajout des items If ItemAdded_NoGamme2 = -1 Then ItemCollection.Remove Nb_Items_NoGamme2, ItemServerHandle_NoGamme2, PError_NoGamme2 '===== Vérifie s'il n'y a pas d'erreur ItemAdded_NoGamme2 = 0 For n = 1 To Nb_Items_NoGamme2 If PError_NoGamme2(n) <> 0 Then ErrorString = ServerObj.GetErrorString(PError_NoGamme2(n)) MsgBox "Erreur dans RemoveItems pour NoGamme2 " + ErrorString ItemAdded_NoGamme2 = -1 Exit For End If Next n End If End If End If
Erase PError_NoGamme2
Exit Sub
Errore_Rimozione_Items_NoGamme2:
MsgBox Err.Description
End Sub Public Sub Transmission_NoGamme2()
'===== Carico i dati dal database Dim Value_NoGamme2(Nb_Items_NoGamme2) As Variant
Dim Numero_Record As Long Dim Db As Database Dim Ds As Dynaset Dim Stringa As String Dim Posizione As Integer Dim Numero_a_Imprimer As String Dim PosNo As Integer Dim Reponse
On Error GoTo Erreur_Transmission_NoGamme2
'===== Preparo il criterio di ricerca '===== Intestazione Stringa = "SELECT * FROM Programmi Order by Programmi.Codice_numerico"
'===== Apro il database Set Db = OpenDatabase(Database_Programmi, False, False)
'===== Creo un dynaset Set Ds = Db.CreateDynaset(Stringa)
'===== Controllo il numero di record trovati Ds.MoveLast Numero_Record = Ds.RecordCount Ds.MoveFirst If Numero_Record > 98 Then Reponse = MsgBox("Limite de 99 enregistrements atteinte !!! " & vbCrLf & "Veuillez supprimer des gammes avant d'en enregistrer d'autre.", vbExclamation) Else '===== Controllo se ho creato gli items If ItemAdded_NoGamme2 <> 0 Then '===== Preparo i parametri da scrivere Posizione = 0
'===== Inizio la ricerca Do While Not Ds.EOF '===== Codice numerico Posizione = Posizione + 1 If Not (IsNull(Ds(Campo_Modello_28))) Then Value_NoGamme2(Posizione) = Val(Trim$(Ds(Campo_Modello_28))) Else Value_NoGamme2(Posizione) = Val(0) End If
'===== Copic muffola Posizione = Posizione + 1
If Not (IsNull(Ds(Campo_Modello_2))) Then PosNo = InStr(1, Trim$(Ds(Campo_Modello_2)), "-") Numero_a_Imprimer = Mid(Trim$(Ds(Campo_Modello_2)), PosNo + 1, Len(Trim$(Ds(Campo_Modello_2))) - PosNo)
Value_NoGamme2(Posizione) = CDbl(Val(Numero_a_Imprimer)) Else Value_NoGamme2(Posizione) = CDbl(Val(0)) End If
Ds.MoveNext Loop Do While Posizione < Nb_Items_NoGamme2 Posizione = Posizione + 1 Value_NoGamme2(Posizione) = Val(0) Loop End If Ds.Close Db.Close GroupObj.SyncWrite Nb_Items_NoGamme2, ItemServerHandle_NoGamme2, Value_NoGamme2, PError_NoGamme2 '===== Verifico se ci sono errori For n = 1 To Nb_Items_NoGamme2 If PError_NoGamme2(n) <> 0 Then ErrorString = ServerObj.GetErrorString(PError_NoGamme2(n)) MsgBox "Erreur dans transmission_NoGamme2 " + ErrorString Exit For End If Next n End If Exit Sub
Erreur_Transmission_NoGamme2:
Select Case Err Case 3021 Ds.Close Db.Close Exit Sub Case 91, 3044 Db.Close Exit Sub Case Else MsgBox "Form 5 - Visualizza_Dati - " + Error$ Ds.Close Db.Close Exit Sub Resume End Select Resume Next End Sub
Public Sub Main() Initialisation_Items_NoGamme2 Creation_Items_NoGamme2
'Transmission_NoGamme2 sert à envoyer des données à l'automate. 'Rimozione_Items_NoGamme2 sert à supprimer les liens à la fermeture de l'application End Sub
"Long YE-SU" a écrit dans le message de news: 43df78cf$0$21284$
Bonjour, Quelqu'un a déjà fait en VB V6 une communication vers un automate S7300 avec une écriture par bloc ?
je recherche des exemples de code...
Sincères salutations Long YE-SU
Long YE-SU
ok merci
A+ Long
"Josselin JOUANNET" a écrit dans le message de news:
Bonjour, Tu peut déjà regarder ce lien. http://www.vbfrance.com/code.aspx?ID 627 Grand merci a nix pour son travail. -- Cordialement Joss
"Long YE-SU" a écrit :
> Bonjour, > Quelqu'un a déjà fait en VB V6 une communication > vers un automate S7300 avec une écriture par bloc ? > > je recherche des exemples de code... > > Sincères salutations > Long YE-SU > > >
ok merci
A+
Long
"Josselin JOUANNET" <JosselinJOUANNET@discussions.microsoft.com> a écrit
dans le message de news:
F82CB634-B36D-471A-B6D5-EE0497B5B8E9@microsoft.com...
Bonjour,
Tu peut déjà regarder ce lien.
http://www.vbfrance.com/code.aspx?ID 627
Grand merci a nix pour son travail.
--
Cordialement
Joss
"Long YE-SU" a écrit :
> Bonjour,
> Quelqu'un a déjà fait en VB V6 une communication
> vers un automate S7300 avec une écriture par bloc ?
>
> je recherche des exemples de code...
>
> Sincères salutations
> Long YE-SU
>
>
>
"Josselin JOUANNET" a écrit dans le message de news:
Bonjour, Tu peut déjà regarder ce lien. http://www.vbfrance.com/code.aspx?ID 627 Grand merci a nix pour son travail. -- Cordialement Joss
"Long YE-SU" a écrit :
> Bonjour, > Quelqu'un a déjà fait en VB V6 une communication > vers un automate S7300 avec une écriture par bloc ? > > je recherche des exemples de code... > > Sincères salutations > Long YE-SU > > >
Long YE-SU
autre question sur OPC SERVER :
Comment laisser la communication OPC SERVER , tout en ayant plusieurs fenêtres Windows ?
car en fait quand je fais un Load_Form , j'initialise la communication... et elle toujours active jusqu'a sortir du programme...
mais j'ai une application avec plusieurs fenêtres ...
Long YE-SU
autre question sur OPC SERVER :
Comment laisser la communication OPC SERVER , tout en ayant plusieurs
fenêtres Windows ?
car en fait quand je fais un Load_Form , j'initialise la communication...
et elle toujours active jusqu'a sortir du programme...
mais j'ai une application avec plusieurs fenêtres ...
Comment laisser la communication OPC SERVER , tout en ayant plusieurs fenêtres Windows ?
car en fait quand je fais un Load_Form , j'initialise la communication... et elle toujours active jusqu'a sortir du programme...
mais j'ai une application avec plusieurs fenêtres ...
Long YE-SU
Tiouane
Bonjour,
Il ne faut pas initialiser la com dans le load d'une form mais le faire dans une procédure. Puis dans les propriétés de ton projet, onglet général, dans objet de démarrage, tu précises quelle procédure démarre le projet. Ainsi la comm n'est pas initialisée par une form.
Bon courage.
"Long YE-SU" a écrit dans le message de news: 43e707f7$0$6671$
autre question sur OPC SERVER :
Comment laisser la communication OPC SERVER , tout en ayant plusieurs fenêtres Windows ?
car en fait quand je fais un Load_Form , j'initialise la communication... et elle toujours active jusqu'a sortir du programme...
mais j'ai une application avec plusieurs fenêtres ...
Long YE-SU
Bonjour,
Il ne faut pas initialiser la com dans le load d'une form mais le faire
dans une procédure. Puis dans les propriétés de ton projet, onglet général,
dans objet de démarrage, tu précises quelle procédure démarre le projet.
Ainsi la comm n'est pas initialisée par une form.
Bon courage.
"Long YE-SU" <yesu.sdsi@wanadoo.fr> a écrit dans le message de news:
43e707f7$0$6671$8fcfb975@news.wanadoo.fr...
autre question sur OPC SERVER :
Comment laisser la communication OPC SERVER , tout en ayant plusieurs
fenêtres Windows ?
car en fait quand je fais un Load_Form , j'initialise la communication...
et elle toujours active jusqu'a sortir du programme...
mais j'ai une application avec plusieurs fenêtres ...
Il ne faut pas initialiser la com dans le load d'une form mais le faire dans une procédure. Puis dans les propriétés de ton projet, onglet général, dans objet de démarrage, tu précises quelle procédure démarre le projet. Ainsi la comm n'est pas initialisée par une form.
Bon courage.
"Long YE-SU" a écrit dans le message de news: 43e707f7$0$6671$
autre question sur OPC SERVER :
Comment laisser la communication OPC SERVER , tout en ayant plusieurs fenêtres Windows ?
car en fait quand je fais un Load_Form , j'initialise la communication... et elle toujours active jusqu'a sortir du programme...
mais j'ai une application avec plusieurs fenêtres ...