Tentative de lecture ou d'écriture de mémoire protégée !![OPC]

Résolu
neon90
Messages postés
13
Date d'inscription
mercredi 2 mai 2012
Statut
Membre
Dernière intervention
8 juin 2012
- 5 juin 2012 à 18:55
 Utilisateur anonyme - 9 juin 2012 à 12:28
Bonjour, j'ai créer une application de supervision en vb2010 qui travaille avec le serveur opc,Donc quand je dé-bug l'application tous marche nickel, j'arrive a me connecté au serveur créer les groupes, les items ,lire et écrire des valeurs..., Le problème c'est quand j'ai installer l'application sur le même poste elle et génère le fameux erreur "Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée" elle s'arrête sur la ligne
 
For i = 1 To NbItemMesure
                AnOfsItemCollection.AddItem(ItemNameMesure(i), HandleClientMesure(i))
            Next

Pour info j'utilise la DLL SA OPC AUTOMATION2, j'ai vérifié la déclaration des variables aucun soucis.
si quelqu'un a une idée sur l'erreur s'il vous plait et merci d'avance.

28 réponses

neon90
Messages postés
13
Date d'inscription
mercredi 2 mai 2012
Statut
Membre
Dernière intervention
8 juin 2012

8 juin 2012 à 17:54
salut tout le monde !

Comme j'ai remarqué que pour résoudre tous ces probléme il faut minimum deux jours, donc je me suis orienté vers une nouvelle fonction( ça abouti).
j'ai régler ça on changons la fonction AddItem en AddItems,c'était ce que j'ai utilisé au début mais j'avais des exception levée, j'ai réussi a régler ça comme il est montrer dans le code en bas.
la différence entre les deux c'est que AddItems crée les items en une seule fois sans avoir besoin de faire une boucle,(d'ailleurs je ne sais pas pourquoi AddItem n'a pas fonctionné mais l'important c'est que l'app marche).
et pour les gens intéresser par OPC en VB.Net !j'ai mit un petit exemple de de la déclaration des paramètres de la fonction AddItems parce que c'est pas si évident que ça
 Private ItemNameMesure() As String 
    Private HandleClientMesure() As Integer 
    Private HandleServerMesure As array
    Private ErreurMesure As array
    Const NbItemMesure As Integer = 17 

AnOfsItemCollection.AddItems(NbItemMesure, ItemNameMesure, HandleClientMesure, HandleServerMesure, ErreurMesure)
3