[expert] Erreur d'accès mémoire en compilé

violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 - 13 mai 2007 à 18:32
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 - 13 mai 2007 à 20:18
Violent Ken

Salut,
je suis en train de coder un petit usercontrol (un timer avec intervalle plus précise que celui de VB), mais je rencontre un problème : "la mémoire ne peut pas être written" uniquement en compilé (code natif ou pseudo-code).

Je manipule quelques pointeurs d'objets et de fonctions, mais je ne vois pas trop d'où vient le bug ? Surtout que dans l'IDE tout marche nickel (d'habitude c'est le contraire O_o)

Autre problème : il arrive aussi que avec une intervalle de temps très faible (1 ms), cela plante (dans l'IDE) au bout de quelques secondes...  !



Le usercontrol est assez complexe en lui même, puisque je dois faire appel à une fonction d'un Module (*.bas) pour la fonction de CallBack.
Et comme je dois en même temps libérer un Event (dans le Usercontrol), j'ai du passez par une collection d'objets...enfin quelque chose d'assez tendu...  J'avais trouvé ce stratagème sur vbfrance il y a quelques temps.

Pour la source qui pose problème, à télécharger ici : http://www.megaupload.com/?d=K69VF84X (cliquer, puis entrez les trois lettres et attendre 45s)

Si quelqu'un avait un peu de temps pour regarder ma source... MERCI !!
@+

Hex Editor VB

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 mai 2007 à 19:13
Même comportement chez moi
J'essaye de comprendre ...
0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
13 mai 2007 à 20:06
Violent Ken
Merci pour ton aide !
@+

Hex Editor VB
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 mai 2007 à 20:13
Les syntaxes sont bonnes.
Même en modifiant le CopyMemory pour lui faire pointer le type d'objet (à la place des Any), ça ne change rien.
Le seul endroit délicat est dans la fonction du CallBack avec les CopyMemory.
Personnellement, ça m'a mis en vrille l'IDE et les AddIns installés, lol.
Pour que cet accès au composant utilisateur (CU) agisse sur l'IDE, c'est qu'il doit y avoir un problème d'adressage des objets (collections) entre le mode IDE et le mode EXE.
Regarde voir s'il ne faudrait pas reconvertir l'adresse hTim en adresse d'objet, l'inverse de ObjPtr
... pas vraiment d'idée supplémentaire
Si BruNews passe par là, il aura surement une explication.
Bon courage

Moi, je vais réinitialiser mon VB6 qui a perdu ses menus et ses AddIns
0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
13 mai 2007 à 20:18
Violent Ken
Merci pour ton aide et le temps que tu as passé à chercher, je vais voir du côté du ObjPtr.

Pour le coup des menus/addin, çà m'est également arrivé (la config de l'IDE n'est plus sauvegardée et j'ai des addins en plus qui se chargent désormais), mais je ne pensais pas que c'était lié à ma source, sinon j'aurais prévenu -__-

Désolé pour le désagrément et encore merci.
@+

Hex Editor VB
0
Rejoignez-nous