L'objet invoqué s'est déconnecté de ses clients. 80010108

Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
- 21 oct. 2004 à 13:38
JazzLiberator
Messages postés
3
Date d'inscription
mercredi 22 février 2012
Statut
Membre
Dernière intervention
22 février 2012
- 19 mars 2012 à 13:49
Bonjour,

VB m'affiche une erreur Automation dans mon code.
J'ai pu le reproduire dans cette maquette de UserControl :

Public Property Let BackColor(Color As Long)
    UserControl.BackColor = Color
End Property

Private Sub UserControl_InitProperties()
    Dim Obj As Object
    Randomize
    Dim Color As Long: Color = Val(Rnd * vbWhite)
    For Each Obj In UserControl.ParentControls
        If TypeOf Obj Is UserControl1 Then
            Obj.BackColor = Color
        End If
    Next Obj
End Sub


A chaque ajout d'un UserControl1 dans une Form, tous les UserControl1 présent changent de couleur. Simpliste, mais ca met en oeuvre ParentControls

au bout de 30 controles, j'ai l'erreur n°80010108

"L'objet invoqué s'est déconnecté de ses clients. "

j'ai demandé à gogole, mais rien de bien concluant...
je me tourne donc vers vous...

Amusez-vous ! ;)
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS
A voir également:

5 réponses

cs_EBArtSoft
Messages postés
4525
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
9
21 oct. 2004 à 20:16
Le code suivant marche sans probleme voici un lien vers ton bug je pense qu'il est deconseiller d'utiliser ParentControls surtout que Obj.Parent est disponible sur tout les Control Container donc a premiere vue on garde une bonne compatibilité

http://support.microsoft.com/kb/q223104/

Option Explicit

Public Property Let BackColor(ByVal Color As Long)
    UserControl.BackColor = Color
End Property

Private Sub UserControl_InitProperties()
    Dim Obj As Object
    Randomize
    Dim Color As Long: Color = Val(Rnd * vbWhite)
    'On Error Resume Next 'Facultatif
    For Each Obj In UserControl.Parent.Controls
        If TypeOf Obj Is UserControl1 Then
            Obj.BackColor = Color
        End If
    Next Obj
End Sub


@+ Cowboy ;)

E.B.
1
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
22 oct. 2004 à 01:05
Tout simplement....

me trompais pas en t'appelant a la rescousse ;-)

Merci

Amusez-vous ! ;)
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS
0
cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
56
6 mars 2012 à 21:00
salut

tu as touvé le post au grenier
2004
0
JazzLiberator
Messages postés
3
Date d'inscription
mercredi 22 février 2012
Statut
Membre
Dernière intervention
22 février 2012

19 mars 2012 à 13:49
Salut ShayW eh oui comme quoi on trouve des trésors dans nos greniers de temps en temps
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JazzLiberator
Messages postés
3
Date d'inscription
mercredi 22 février 2012
Statut
Membre
Dernière intervention
22 février 2012

6 mars 2012 à 18:05
Salut,

Juste pour ajouter mon eau au moulin je viens d'avoir exactement cette erreur dans un de mes control UpDown qui incrémentait/décrémentait un nombre dans une textbox.

L'erreur était provoquée par le "plantage" du composant UpDown car à un moment donné, pendant l'exécution, la valeur de la textbox était hors bornes min/max du control UpDown (je précise aussi que j'ai lié le UpDown à la textbox via les propriétés BuddyControl et BuddyProperty)

J'ai résolu le problème en initialisant d'abord min/max à leurs valeurs la plus petite/grande avant de toucher a la valeur contenue dans la textbox.
C'est impressionnant comme erreur mais le bug derrière est souvent anodin à mon avis.

Bon courage.

PS: Hein déjà 2012, mais le temps passe trop vite
-1