Vérifier si un objet est chargé ?

Le
Via
Bonjour à tous.

Je charge et décharge plusieurs fois une Form lors de l'exécution d'une
application, et dans cette Form je charge et décharge des objets.
Il arrive un moment où je ne sais plus ce qui est chargé ou non, et j'ai
un objet avec l'index 0 qui est déchargé (pas moyen de savoir où !!!!) Cela
pose évidemment problème. J'aimerais faire une vérification pour charger
l'objet s'il ne l'est pas, du genre :

If Not <objet chargé> Then
Load Objet(index)
End If

Est-ce possible ?
Merci d'avance,

Via :)
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Zoury
Le #14604241
Salut Via! :O)

Le plus simple est de capter l'erreur..

'***
Private Function InControlArray(ByRef o As Object) As Boolean
Dim i As Integer
On Error Resume Next
i = o.Index
InControlArray = (Err.Number End Function
'***

l'erreur 343 se déclenche si le control passé en paramètre n'est pas dans un
tableau de contrôle (ex: Text1) et l'erreur 340 se déclenche si l'index
spécifié est hors borne..

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous

"Via" news:
Bonjour à tous.

Je charge et décharge plusieurs fois une Form lors de l'exécution d'une
application, et dans cette Form je charge et décharge des objets.
Il arrive un moment où je ne sais plus ce qui est chargé ou non, et j'ai
un objet avec l'index 0 qui est déchargé (pas moyen de savoir où !!!!)


Cela
pose évidemment problème. J'aimerais faire une vérification pour charger
l'objet s'il ne l'est pas, du genre :

If Not <objet chargé> Then
Load Objet(index)
End If

Est-ce possible ?
Merci d'avance,

Via :)




Ludovic SOEUR
Le #14604191
Tu peux utiliser le mot clef IS avec NOTHING
if <objet chargé> IS NOTHING then
Load Objet(index)
endif

"Via"
Bonjour à tous.

Je charge et décharge plusieurs fois une Form lors de l'exécution d'une
application, et dans cette Form je charge et décharge des objets.
Il arrive un moment où je ne sais plus ce qui est chargé ou non, et j'ai
un objet avec l'index 0 qui est déchargé (pas moyen de savoir où !!!!)


Cela
pose évidemment problème. J'aimerais faire une vérification pour charger
l'objet s'il ne l'est pas, du genre :

If Not <objet chargé> Then
Load Objet(index)
End If

Est-ce possible ?
Merci d'avance,

Via :)




Via
Le #14556031
Merci Yanick !
Etonnament, rien que le fait de vérifier au Form_Load la présence du
contrôle fait qu'il ne détecte plus jamais son absence. M'enfin, le
principal c'est que je n'ai plus ce bug.

Via :)


"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news:%
Salut Via! :O)

Le plus simple est de capter l'erreur..

'***
Private Function InControlArray(ByRef o As Object) As Boolean
Dim i As Integer
On Error Resume Next
i = o.Index
InControlArray = (Err.Number End Function
'***

l'erreur 343 se déclenche si le control passé en paramètre n'est pas dans


un
tableau de contrôle (ex: Text1) et l'erreur 340 se déclenche si l'index
spécifié est hors borne..

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous

"Via" news:
> Bonjour à tous.
>
> Je charge et décharge plusieurs fois une Form lors de l'exécution


d'une
> application, et dans cette Form je charge et décharge des objets.
> Il arrive un moment où je ne sais plus ce qui est chargé ou non, et


j'ai
> un objet avec l'index 0 qui est déchargé (pas moyen de savoir où !!!!)
Cela
> pose évidemment problème. J'aimerais faire une vérification pour charger
> l'objet s'il ne l'est pas, du genre :
>
> If Not <objet chargé> Then
> Load Objet(index)
> End If
>
> Est-ce possible ?
> Merci d'avance,
>
> Via :)
>
>




Publicité
Poster une réponse
Anonyme