Load et Unload

Résolu
PsyCaDi Messages postés 123 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 30 mars 2009 - 6 sept. 2005 à 12:10
PsyCaDi Messages postés 123 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 30 mars 2009 - 6 sept. 2005 à 13:04
PsyCaDi

4 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
6 sept. 2005 à 12:33
à partir du moment où tu fais appel à Me.Lbl_TitreType(i) si le contrôle n'existe pas ça entraine le plantage.

où tu gère tes contrôles par des tables

ou tu y accède par les collections



Dim x As Object



For Each x In Me.Controls("Label1")

If x.Index > 0 Then

Unload x

End If

Next




Daniel
3
PsyCaDi Messages postés 123 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 30 mars 2009
6 sept. 2005 à 12:17
Bonjour,
Il y a une chose que je ne comprends pas. J'ai passe le code dans tous les sens et je ne comprends pas.

Voici mon bout de code :

Dim i As Integer
MsgBox "On charge les labels"
For i = 1 To 2
Load Me.Lbl_TitreType(i)
With Me.Lbl_TitreType(i)
.Top = Coord(i).Top
.Left = Coord(i).Left
.Visible = True
End With
MsgBox "Fin du chargement du label " & i
Next i
MsgBox "fin des chargement"
For i = 1 To 3
If Not Me.Lbl_TitreType(i) Is Nothing Then
Unload Me.Lbl_TitreType(i)
End If
MsgBox "On décharge " & i
Next i
MsgBox "fin déchargement"

Je croyais que
If Not Me.Lbl_TitreType(i) Is Nothing Then
Unload Me.Lbl_TitreType(i)
End If
ne devait ne pas se faire si le label n'était pas créé mais il se fait quand même.
Pourquoi?

Ce code marche bien si je décharge les 2 première éléments mais au 3ème il me dit que l'objet n'existe pas (logique vu que je ne le crée pas mais comment ce ### arrive à me dire qu'il n'est pas Nothing?)


PS Désolé le post a planté
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
6 sept. 2005 à 12:24
Il s'agit d'une collection/tableau, et tu accède à un élément inconnu, d'où l'erreur de dépassement de limite de tableau.

Met une variable globale mémorisant le nombre de controle créés.



Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)

Une question se pose sur le forum, pas en privé


NH
0
PsyCaDi Messages postés 123 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 30 mars 2009
6 sept. 2005 à 13:04
Bon et bien encore un mystère
Je viens de rebooter ma machine et le bout de code marche maintenant...
Désolé du dérangement
0
Rejoignez-nous