neon90
Messages postés13Date d'inscriptionmercredi 2 mai 2012StatutMembreDerniè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.
A voir également:
Tentative de lecture ou d'écriture de mémoire protégée. cela indique souvent qu'une autre mémoire est endommagée.
neon90
Messages postés13Date d'inscriptionmercredi 2 mai 2012StatutMembreDerniè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)
Il y a trop peu d'information pour pouvoir en tirer une conclusion.
De quel type est l'objet AnOfsItemCollection ?
De quels types sont les paramètres attendus de la méthode AddItem ?
Les paramètres de compilation de ton projet ?
DLL compatible avec l'environnement ?
etc...
neon90
Messages postés13Date d'inscriptionmercredi 2 mai 2012StatutMembreDernière intervention 8 juin 2012 6 juin 2012 à 21:47
SLt cmarcotte c'est parce que j'ai trouvé que le premier titre fait un peu peur au gens .
Slt banana32 alors AnOfsItemCollection est de type SAOPCAutomation.OPCItems
Les paramètres attendus de AddItem : AddItem( string , Integer )
pour ta troisième question je ne sais de quelle paramètres tu parle !!
et pour le DLL j'ai du doute a propos de ça aussi, car j'ai essayé l'application sous windows7 et elle marche sans aucun soucis.
je serait la pour plus d'infos et merci pour ta réponse quand même..
Vous n’avez pas trouvé la réponse que vous recherchez ?
et pour le DLL j'ai du doute a propos de ça aussi, car j'ai essayé l'application sous windows7 et elle marche sans aucun soucis.
C'est pour cela que j'ai posé la question. Renseigne toi sur le ou les environnements supportés par cette dll ainsi que les architectures 32/64 bits.
A+
neon90
Messages postés13Date d'inscriptionmercredi 2 mai 2012StatutMembreDernière intervention 8 juin 2012 6 juin 2012 à 22:01
Oui c'est prévue mais ce qui me paraître bizarre, le faite que d'autre fonction de la même DLL fonctionne, et pour l'architecture non j'en suis sur que ça supporte 32 bits !!
neon90
Messages postés13Date d'inscriptionmercredi 2 mai 2012StatutMembreDernière intervention 8 juin 2012 6 juin 2012 à 22:09
Non l'option Strict est désactivé et l'option Explicit est activé !
non y'a pas de code non managé a gérer , mais j'ai un peu du mal comme même a vérifier ça donc est ce que tu peux juste me dire stp ce que ça peux invoquer !!
Je t'ai donné un lien qui contient toutes les informations nécéssaires. N'hésite pas à cliquer sur les liens de la rubrique 'voir aussi' au bas de la page.
Active Option Strict et corrige les erreurs s'il y en a.
neon90
Messages postés13Date d'inscriptionmercredi 2 mai 2012StatutMembreDernière intervention 8 juin 2012 7 juin 2012 à 00:21
ah non si je t'assure il n'y a aucun doute sur ça ! voila mes déclarations
Private ItemNameMesure() As String 'Tableau de Définition des items
Private HandleClientMesure() As Integer 'Tableau de pointeurs des items
Private HandleServerMesure() As Integer 'Tableau de pointeurs des items
Private ErreurMesure() As Integer 'Tableau de codes d'erreur rendus par
Const NbItemMesure As Integer = 17 'Nombre d'item à gérer pour le mesure
et si tu parle des argument de la fonction AddItem elle méme regarde aussi ça
image !
et le fait de partir de 1 c'est un choix, et je pense pas que ça soit ça, car la fonction AddItem est appelé juste pour les valeurs de 1 a 17 ! il pourait pas avoir un dépassement de tableau.(mais je regarderait quand même)