Attila54
Messages postés409Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention21 novembre 2013
-
6 déc. 2011 à 15:15
Attila54
Messages postés409Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention21 novembre 2013
-
7 déc. 2011 à 16:17
Bonjour,
Après pas mal de recherches je me permets de poster ici car la vraiment je n'arrive pas a résoudre ce probleme tout seul
Sur un logiciel qui est compilé et publié avec vs2010 premium
Setup installé sur une station sans visual studio avec powerpack 10.0.0 téléchargé et installé j'ai l'erreur suivante :
Erreur en utilisation :
Lorsque je clique sur le button qui execute ce code :
Private Sub Retourvisiondeloin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Retourvisiondeloin.Click
If langue = "en" Then
messageaff = "Go back to Distant Vision"
infoaff = "Information Software"
Else
messageaff = "Retourner à la vision de loin ?"
infoaff = "Information logiciel"
End If
If MessageBox.Show(messageaff, infoaff, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
With Visiondeloin
calculok = False
End With
Me.Dispose() ' on ferme Visiondepres
Visiondeloin.LabelHEHN.Visible = True
Visiondeloin.RectangleShapeHEHN.Visible = True
Visiondeloin.TSLIMG.Visible = True
Visiondeloin.TSLIMG2.Visible = True
End If
End Sub
j'ai l'erreur suivante :
dont le detail de la pile d'appel me donne :
Consultez la fin de ce message pour plus de détails sur l'appel du débogage
juste-à-temps (JIT) à la place de cette boîte de dialogue.
************** Texte de l'exception **************
System.InvalidOperationException: La collection a été modifiée*; l'opération d'énumération peut ne pas s'exécuter.
à System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
à System.Collections.Generic.List`1.Enumerator.MoveNextRare()
à System.Collections.Generic.List`1.Enumerator.MoveNext()
à Microsoft.VisualBasic.PowerPacks.ShapeCollection.Dispose(Boolean disposing)
à Microsoft.VisualBasic.PowerPacks.ShapeContainer.Dispose(Boolean disposing)
à System.ComponentModel.Component.Dispose()
à System.Windows.Forms.Control.Dispose(Boolean disposing)
à System.Windows.Forms.Form.Dispose(Boolean disposing)
à Calculateur.visiondepres.Dispose(Boolean disposing)
à System.ComponentModel.Component.Dispose()
à Calculateur.visiondepres.Retourvisiondeloin_Click(Object sender, EventArgs e)
à System.Windows.Forms.Control.OnClick(EventArgs e)
à System.Windows.Forms.Button.OnClick(EventArgs e)
à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
à System.Windows.Forms.Control.WndProc(Message& m)
à System.Windows.Forms.ButtonBase.WndProc(Message& m)
à System.Windows.Forms.Button.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Setup installé sur la même station avec visual studio pas d'erreur comme si la presence de VS resolvait le probleme.
Sur certains forums, j'ai vu que la dll du powerPack livré avec visual studio 2010 et celle livré avec le powerpack que l'on télécharge sur internet ne sont pas les memes (powerPack 10.0.0)
Tout semble tourner autour de PowerPack mais honnetement, je suis incapable de resoudre ce probleme tout seul.
Merci beaucoup de votre aide
A voir également:
Oserror: [winerror 10038] une opération a été tentée sur autre chose qu’un socket
Attila54
Messages postés409Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention21 novembre 20131 6 déc. 2011 à 15:28
J'ai aussi un programmeur qui me dit :
Le probleme vient du controle ShapeContainer qui ne prevoit pas de methode Dispose pour sa liste interne de controles Shapes.
Close appelle dispose
Le form appelle Dispose sur chacun de ses controles y compris ShapeContainer
Shapecontainer est depourvue-semble-t-il de ce mecansisme.
Je comprends ce qu'il veut dire mais je ne vois absolument pas comment resoudre la chose non plus
NHenry
Messages postés15091Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 9 décembre 2023158 6 déc. 2011 à 20:28
Bonjour,
Actives Option Strict et Option Explicit (propriétés du projet).
Concernant l'exception :
La collection a été modifiée*; l'opération d'énumération peut ne pas s'exécuter.
En clair, tu as un For Each et tu supprimes ou ajoutes des éléments dans la collection.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Attila54
Messages postés409Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention21 novembre 20131 7 déc. 2011 à 16:17
Re NHenri
probleme résolu,
en fait, j'avais zappé les 2 endroits ou les lignes en erreur etaient indiquées grace au pdb
J'ai mis des try catch ou ils manquaient et des close en lieu et place des dispose
Tout fonctionne bien maintenant