Unload un groupe de controle mais foireu :'(

elbertondu62 Messages postés 42 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 22 janvier 2006 - 1 mai 2005 à 10:27
elbertondu62 Messages postés 42 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 22 janvier 2006 - 1 mai 2005 à 13:57
Bonjour a tous. Voila j'ai donc bien sur trouver une reponse sur le dechargement des groupe de controle mais j'ai un pb avec.

J'ai donc sur ma form 4 shapes en groupe de controle. Avec les index 0 1 2 3 et qui s'appelle carre1.

Une variale qui sert d'indexation lol qui s'appelle: carre et que j'incremente de +4 a chaque load. et dont je range les valeurs des index dans un tableau carrevisi(14,10) .

A un moment donné de mon programme je doit les rendre invisible:

For s = 0 To 9

Tetris(j, s) = False

Carre1(Carrevisi(j, s)).Visible = False

Carrevisi(j, s) = 0

Next s

Tout fonctionne sauf que par moment arriver a la ligne pour le rendre invisible, j'ai des carres qui reaparaisse. Donc j'ai eu comme idée de les unload :
For d = 0 To 13

For e = 0 To 9

For Each ctrl In Carre1


If ctrl.Index = (Carrevisi(d, e)) Then


ctrl.Visible = True


Unload Carre1(ctrl.Index)

End If

Next ctrl

Next e

Next d

Mais voici la reponse de mon chere vb lors du unload : impossible de
decharger un groupe de controle crée au moment de la création .

Et quand je tape unload carre1(carre) baa sa marche hors que je veut
prendre les valeurs qu'il y a dans mon tableau, et donc je suis
coincer..... Si quelqu'un avait une petite aide a me proposer et a
m'expliquer l'erreur que j'ai cité car je comprend pas ce qu'il veut me
dire.

Merci bcp pour votre aide
wazaaa breton

4 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
1 mai 2005 à 10:56
For s = 0 To 9
Tetris(j, s) = False
Carre1(Carrevisi(j, s)).Visible = False
Carrevisi(j, s) = 0
Next s

il semblerait que ton indice soit remis à zéro ????

Daniel
0
elbertondu62 Messages postés 42 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 22 janvier 2006
1 mai 2005 à 11:12
vi car il doit etre remplacer par 0 pour qu'il soit effacer dans le
tableau uniquement et pouvoir mettre une autre valeur par la suite et
le faire correspondre au nouvel index.

Sinon l'index non il n'y est pas toucher.J'aurai mi carre1(carrevisi(j,s))=0

C'est juste la valeurs dans le tableau qui est changé et pas l'index.



wazaaa breton
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
1 mai 2005 à 11:23
"impossible de decharger un groupe de controle crée au moment de la création"

- celui qui a été crée au moment de la création a l'indice zéro (en principe) et c'est le seul qui ne peut être déchargé, c'est ce que dit le message d'erreur.
- vérifie ton index. Il y a de fortes chances pour qu'il soit à zéro

If ctrl.Index = (Carrevisi(d, e)) Then
ctrl.Visible = True
If ctrl.Index = 0 then MsgBox "indice à zéro !"
Unload Carre1(ctrl.Index)
End If

Daniel
0
elbertondu62 Messages postés 42 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 22 janvier 2006
1 mai 2005 à 13:57
okii vi j'ai compris je ne peut enlever les pieces meres donc.
J'arrive donc a enlever les autres pieces j'ai rajouter une condition
si<>0 1 2 3, mais les pieces meres reaparaissen a un momen T il
faut que je m'amuse a faire un debug pour voir ou elle reaparaisse car
c'est assez genant. Pourtant je ne les rapelle pas bizare...

C'est possible d'un bug sur le .visible=false et que sa les fasse reaparaitre ? ?

wazaaa breton
0
Rejoignez-nous