Gambas France BETA


Pas de compte ? Incription

[Résolu]Changer la valeur d'un élément dans un form a partir d'une class.

Ce sujet est résolu.

1
AuteurMessages
loki#1 Posté le 31/5/2013 à 12:42:55
Bonjour,
J'ai voulu changer un text d'un label a partir d'une class et je n'y suis pas arrivé... mais peut on le faire ?

j'ai essayé:
-Form1
Button1
Label1
1
2
3
PUBLIC SUB Button1_Click()
Class1.test
END

-Class1
1
2
3
STATIC PUBLIC SUB test()
Form1.Label1.Text = "test"
END

Voila,
Y a t'il une erreur ou ce n'est pas possible?
Dell Vostro 3750
Ubuntu 13.04 - Gambas 3.4.1
Flachy Joe#2 Posté le 31/5/2013 à 16:21:26
Iguane : Il Gambas Uniquement pour Activer ses NEuronesSalut,
effectivement la classe ne connaît pas le formulaire (ce n'est pas un objet public) il faut donc indiquer en argument de la fonction l'objet sur lequel elle doit s'exécuter, ce code devrait foncionner :
1
2
3
4
5
6
7
PUBLIC SUB Button1_Click()
Class1.test(ME)
END

STATIC PUBLIC SUB test(myForm AS Form)
myForm.Label1.Text = "test"
END
;) Flachy Joe ;)
loki#3 Posté le 31/5/2013 à 17:28:29
Salut,

Merci pour la réponse mais il ne trouve pas le label.
Symbole 'Label1' inconnu dans la classe 'container'

;)
Dell Vostro 3750
Ubuntu 13.04 - Gambas 3.4.1
Flachy Joe#4 Posté le 2/6/2013 à 15:54:40
Iguane : Il Gambas Uniquement pour Activer ses NEuronesIl faut mettre la propriété Public à True pour le label.

En fait mon histoire de formulaire qui n'est pas un objet public est fausse, ta classe peut y faire référence directement, c'est bien le label qui était inconnu.
;) Flachy Joe ;)
loki#5 Posté le 3/6/2013 à 11:11:31
Merci Flachy Joe, pourquoi j'y ai pas pensé :evil:

Donc effectivement en mettant simplement le label a public ça marche.

++
Dell Vostro 3750
Ubuntu 13.04 - Gambas 3.4.1
1