Bonjour,
Avec VB 6
Soit que je veux sélectionner une valeur d'une liste sur un Form
(formulaire)
Alors mon programme affiche mon formulaire,
- je fais ma sélection
- la sélection est stockée dans variable globale
- je quitte le formulaire
- mon programme peut utiliser la variable globale
Ce qui m'embête ici c'est la variable globale.
Alors j'ai fait une classe dans laquelle j'ai mis mon formulaire.
Je peux donc gérer mon formulaire à partir de la classe: initialiser,
afficher, cacher etc.
Mon idée c'est de mettre la valeur de ma sélection dans une propriété
de
ma classe.
Ainsi mon programme peux utiliser la propriété de la classe.
Mais curieusement, j'ai été obligé d'utiliser une variable globale. (?)
Est-ce qu'il y a moyen que ma classe et mon formulaire partage une
variable au niveau de la classe?
(i.e. sans avoir une variable globale)
Y a-t-il un design patern intelligent pour ça en VB 6?
De façon générale: avoir un classe, afficher une ou des propriétés de
cette classe sur un formulaire
et modifier les propriétés via ce
formulaire... sans utiliser de variables globales?
Ok. Je retourne voir mon exemple... voir si je n'ai pas fait erreur qque
part et me débarrasser de cette variable globale.
Merci
Bonjour,
Avec VB 6
Soit que je veux sélectionner une valeur d'une liste sur un Form
(formulaire)
Alors mon programme affiche mon formulaire,
- je fais ma sélection
- la sélection est stockée dans variable globale
- je quitte le formulaire
- mon programme peut utiliser la variable globale
Ce qui m'embête ici c'est la variable globale.
Alors j'ai fait une classe dans laquelle j'ai mis mon formulaire.
Je peux donc gérer mon formulaire à partir de la classe: initialiser,
afficher, cacher etc.
Mon idée c'est de mettre la valeur de ma sélection dans une propriété
de
ma classe.
Ainsi mon programme peux utiliser la propriété de la classe.
Mais curieusement, j'ai été obligé d'utiliser une variable globale. (?)
Est-ce qu'il y a moyen que ma classe et mon formulaire partage une
variable au niveau de la classe?
(i.e. sans avoir une variable globale)
Y a-t-il un design patern intelligent pour ça en VB 6?
De façon générale: avoir un classe, afficher une ou des propriétés de
cette classe sur un formulaire
et modifier les propriétés via ce
formulaire... sans utiliser de variables globales?
Ok. Je retourne voir mon exemple... voir si je n'ai pas fait erreur qque
part et me débarrasser de cette variable globale.
Merci
Bonjour,
Avec VB 6
Soit que je veux sélectionner une valeur d'une liste sur un Form
(formulaire)
Alors mon programme affiche mon formulaire,
- je fais ma sélection
- la sélection est stockée dans variable globale
- je quitte le formulaire
- mon programme peut utiliser la variable globale
Ce qui m'embête ici c'est la variable globale.
Alors j'ai fait une classe dans laquelle j'ai mis mon formulaire.
Je peux donc gérer mon formulaire à partir de la classe: initialiser,
afficher, cacher etc.
Mon idée c'est de mettre la valeur de ma sélection dans une propriété
de
ma classe.
Ainsi mon programme peux utiliser la propriété de la classe.
Mais curieusement, j'ai été obligé d'utiliser une variable globale. (?)
Est-ce qu'il y a moyen que ma classe et mon formulaire partage une
variable au niveau de la classe?
(i.e. sans avoir une variable globale)
Y a-t-il un design patern intelligent pour ça en VB 6?
De façon générale: avoir un classe, afficher une ou des propriétés de
cette classe sur un formulaire
et modifier les propriétés via ce
formulaire... sans utiliser de variables globales?
Ok. Je retourne voir mon exemple... voir si je n'ai pas fait erreur qque
part et me débarrasser de cette variable globale.
Merci
Bonjour,
Avec VB 6
Soit que je veux sélectionner une valeur d'une liste sur un Form
(formulaire)
Alors mon programme affiche mon formulaire,
- je fais ma sélection
- la sélection est stockée dans variable globale
- je quitte le formulaire
- mon programme peut utiliser la variable globale
Ce qui m'embête ici c'est la variable globale.
Alors j'ai fait une classe dans laquelle j'ai mis mon formulaire.
Je peux donc gérer mon formulaire à partir de la classe: initialiser,
afficher, cacher etc.
Mon idée c'est de mettre la valeur de ma sélection dans une propriété de
ma classe.
Ainsi mon programme peux utiliser la propriété de la classe.
Mais curieusement, j'ai été obligé d'utiliser une variable globale. (?)
Est-ce qu'il y a moyen que ma classe et mon formulaire partage une
variable au niveau de la classe?
(i.e. sans avoir une variable globale)
Y a-t-il un design patern intelligent pour ça en VB 6?
De façon générale: avoir un classe, afficher une ou des propriétés de
cette classe sur un formulaire
et modifier les propriétés via ce
formulaire... sans utiliser de variables globales?
Ok. Je retourne voir mon exemple... voir si je n'ai pas fait erreur qque
part et me débarrasser de cette variable globale.
Merci
Bonjour,
Avec VB 6
Soit que je veux sélectionner une valeur d'une liste sur un Form
(formulaire)
Alors mon programme affiche mon formulaire,
- je fais ma sélection
- la sélection est stockée dans variable globale
- je quitte le formulaire
- mon programme peut utiliser la variable globale
Ce qui m'embête ici c'est la variable globale.
Alors j'ai fait une classe dans laquelle j'ai mis mon formulaire.
Je peux donc gérer mon formulaire à partir de la classe: initialiser,
afficher, cacher etc.
Mon idée c'est de mettre la valeur de ma sélection dans une propriété de
ma classe.
Ainsi mon programme peux utiliser la propriété de la classe.
Mais curieusement, j'ai été obligé d'utiliser une variable globale. (?)
Est-ce qu'il y a moyen que ma classe et mon formulaire partage une
variable au niveau de la classe?
(i.e. sans avoir une variable globale)
Y a-t-il un design patern intelligent pour ça en VB 6?
De façon générale: avoir un classe, afficher une ou des propriétés de
cette classe sur un formulaire
et modifier les propriétés via ce
formulaire... sans utiliser de variables globales?
Ok. Je retourne voir mon exemple... voir si je n'ai pas fait erreur qque
part et me débarrasser de cette variable globale.
Merci
Bonjour,
Avec VB 6
Soit que je veux sélectionner une valeur d'une liste sur un Form
(formulaire)
Alors mon programme affiche mon formulaire,
- je fais ma sélection
- la sélection est stockée dans variable globale
- je quitte le formulaire
- mon programme peut utiliser la variable globale
Ce qui m'embête ici c'est la variable globale.
Alors j'ai fait une classe dans laquelle j'ai mis mon formulaire.
Je peux donc gérer mon formulaire à partir de la classe: initialiser,
afficher, cacher etc.
Mon idée c'est de mettre la valeur de ma sélection dans une propriété de
ma classe.
Ainsi mon programme peux utiliser la propriété de la classe.
Mais curieusement, j'ai été obligé d'utiliser une variable globale. (?)
Est-ce qu'il y a moyen que ma classe et mon formulaire partage une
variable au niveau de la classe?
(i.e. sans avoir une variable globale)
Y a-t-il un design patern intelligent pour ça en VB 6?
De façon générale: avoir un classe, afficher une ou des propriétés de
cette classe sur un formulaire
et modifier les propriétés via ce
formulaire... sans utiliser de variables globales?
Ok. Je retourne voir mon exemple... voir si je n'ai pas fait erreur qque
part et me débarrasser de cette variable globale.
Merci
Je ne fais pas de cette façon. En résumé et si j'ai bien compris, tu as un
formulaire qui fait un travail lambda, et tu voudrais bien récupérer ce
travail, sans passer par une Globale.
Comment je m'y prends :
J'ai un formulaire (f)
Dans ce formulaire, j'ai une fonctionne Use (à l'intérieur du formulaire)
laquelle je peux passer des paramètres, et qui renvoie une valeur. Le cas
échéant, je passe les paramètres ByRef, moyennant quoi je peux récupérer
plusieurs valeurs en les changeant dans ma fonction Use.
Cette fonction Use fait plusieurs choses :
- elle fait des trucs suivant les paramètres qu'on lui passe (ou rien du
tout).
- éventuellement elle force le load de f
- puis elle montre f en modal : me.show vbmodal
- à ce moment là elle s'arrête, pour l'instant...
- il y a sur f un bouton qui contient le code me.hide
- lorsque l'utilisateur clique sur ce bouton, la fonction use redémarre là
où elle était arrêtée.
- ce qui lui donne l'occasion de travailler un peu de diverses manières et
éventuellement de modifier des paramètres ByRef et/ou de s'affecter une
valeur de retour.
L'utilisation est simplissime : retour = f.use (param1, param2...)
Ne pas oublier depuis la fonction d'appel de faire : unload f, puis set f
C'est assez agricole et ça marche terriblement bien.
Hope this helps.
Christian
"PetitTrot" a écrit dans le message de news:
> Bonjour,
>
> Avec VB 6
>
> Soit que je veux sélectionner une valeur d'une liste sur un Form
> (formulaire)
> Alors mon programme affiche mon formulaire,
> - je fais ma sélection
> - la sélection est stockée dans variable globale
> - je quitte le formulaire
> - mon programme peut utiliser la variable globale
>
> Ce qui m'embête ici c'est la variable globale.
> Alors j'ai fait une classe dans laquelle j'ai mis mon formulaire.
> Je peux donc gérer mon formulaire à partir de la classe: initialiser,
> afficher, cacher etc.
> Mon idée c'est de mettre la valeur de ma sélection dans une propriété
> de
> ma classe.
> Ainsi mon programme peux utiliser la propriété de la classe.
> Mais curieusement, j'ai été obligé d'utiliser une variable globale.
> Est-ce qu'il y a moyen que ma classe et mon formulaire partage une
> variable au niveau de la classe?
> (i.e. sans avoir une variable globale)
>
> Y a-t-il un design patern intelligent pour ça en VB 6?
> De façon générale: avoir un classe, afficher une ou des propriétés de
> cette classe sur un formulaire
> et modifier les propriétés via ce
> formulaire... sans utiliser de variables globales?
>
> Ok. Je retourne voir mon exemple... voir si je n'ai pas fait erreur
> part et me débarrasser de cette variable globale.
>
> Merci
>
>
>
>
Je ne fais pas de cette façon. En résumé et si j'ai bien compris, tu as un
formulaire qui fait un travail lambda, et tu voudrais bien récupérer ce
travail, sans passer par une Globale.
Comment je m'y prends :
J'ai un formulaire (f)
Dans ce formulaire, j'ai une fonctionne Use (à l'intérieur du formulaire)
laquelle je peux passer des paramètres, et qui renvoie une valeur. Le cas
échéant, je passe les paramètres ByRef, moyennant quoi je peux récupérer
plusieurs valeurs en les changeant dans ma fonction Use.
Cette fonction Use fait plusieurs choses :
- elle fait des trucs suivant les paramètres qu'on lui passe (ou rien du
tout).
- éventuellement elle force le load de f
- puis elle montre f en modal : me.show vbmodal
- à ce moment là elle s'arrête, pour l'instant...
- il y a sur f un bouton qui contient le code me.hide
- lorsque l'utilisateur clique sur ce bouton, la fonction use redémarre là
où elle était arrêtée.
- ce qui lui donne l'occasion de travailler un peu de diverses manières et
éventuellement de modifier des paramètres ByRef et/ou de s'affecter une
valeur de retour.
L'utilisation est simplissime : retour = f.use (param1, param2...)
Ne pas oublier depuis la fonction d'appel de faire : unload f, puis set f
C'est assez agricole et ça marche terriblement bien.
Hope this helps.
Christian
"PetitTrot" <petit.galop@cowboy.ca> a écrit dans le message de news:
eO07cbdwFHA.2924@TK2MSFTNGP15.phx.gbl...
> Bonjour,
>
> Avec VB 6
>
> Soit que je veux sélectionner une valeur d'une liste sur un Form
> (formulaire)
> Alors mon programme affiche mon formulaire,
> - je fais ma sélection
> - la sélection est stockée dans variable globale
> - je quitte le formulaire
> - mon programme peut utiliser la variable globale
>
> Ce qui m'embête ici c'est la variable globale.
> Alors j'ai fait une classe dans laquelle j'ai mis mon formulaire.
> Je peux donc gérer mon formulaire à partir de la classe: initialiser,
> afficher, cacher etc.
> Mon idée c'est de mettre la valeur de ma sélection dans une propriété
> de
> ma classe.
> Ainsi mon programme peux utiliser la propriété de la classe.
> Mais curieusement, j'ai été obligé d'utiliser une variable globale.
> Est-ce qu'il y a moyen que ma classe et mon formulaire partage une
> variable au niveau de la classe?
> (i.e. sans avoir une variable globale)
>
> Y a-t-il un design patern intelligent pour ça en VB 6?
> De façon générale: avoir un classe, afficher une ou des propriétés de
> cette classe sur un formulaire
> et modifier les propriétés via ce
> formulaire... sans utiliser de variables globales?
>
> Ok. Je retourne voir mon exemple... voir si je n'ai pas fait erreur
> part et me débarrasser de cette variable globale.
>
> Merci
>
>
>
>
Je ne fais pas de cette façon. En résumé et si j'ai bien compris, tu as un
formulaire qui fait un travail lambda, et tu voudrais bien récupérer ce
travail, sans passer par une Globale.
Comment je m'y prends :
J'ai un formulaire (f)
Dans ce formulaire, j'ai une fonctionne Use (à l'intérieur du formulaire)
laquelle je peux passer des paramètres, et qui renvoie une valeur. Le cas
échéant, je passe les paramètres ByRef, moyennant quoi je peux récupérer
plusieurs valeurs en les changeant dans ma fonction Use.
Cette fonction Use fait plusieurs choses :
- elle fait des trucs suivant les paramètres qu'on lui passe (ou rien du
tout).
- éventuellement elle force le load de f
- puis elle montre f en modal : me.show vbmodal
- à ce moment là elle s'arrête, pour l'instant...
- il y a sur f un bouton qui contient le code me.hide
- lorsque l'utilisateur clique sur ce bouton, la fonction use redémarre là
où elle était arrêtée.
- ce qui lui donne l'occasion de travailler un peu de diverses manières et
éventuellement de modifier des paramètres ByRef et/ou de s'affecter une
valeur de retour.
L'utilisation est simplissime : retour = f.use (param1, param2...)
Ne pas oublier depuis la fonction d'appel de faire : unload f, puis set f
C'est assez agricole et ça marche terriblement bien.
Hope this helps.
Christian
"PetitTrot" a écrit dans le message de news:
> Bonjour,
>
> Avec VB 6
>
> Soit que je veux sélectionner une valeur d'une liste sur un Form
> (formulaire)
> Alors mon programme affiche mon formulaire,
> - je fais ma sélection
> - la sélection est stockée dans variable globale
> - je quitte le formulaire
> - mon programme peut utiliser la variable globale
>
> Ce qui m'embête ici c'est la variable globale.
> Alors j'ai fait une classe dans laquelle j'ai mis mon formulaire.
> Je peux donc gérer mon formulaire à partir de la classe: initialiser,
> afficher, cacher etc.
> Mon idée c'est de mettre la valeur de ma sélection dans une propriété
> de
> ma classe.
> Ainsi mon programme peux utiliser la propriété de la classe.
> Mais curieusement, j'ai été obligé d'utiliser une variable globale.
> Est-ce qu'il y a moyen que ma classe et mon formulaire partage une
> variable au niveau de la classe?
> (i.e. sans avoir une variable globale)
>
> Y a-t-il un design patern intelligent pour ça en VB 6?
> De façon générale: avoir un classe, afficher une ou des propriétés de
> cette classe sur un formulaire
> et modifier les propriétés via ce
> formulaire... sans utiliser de variables globales?
>
> Ok. Je retourne voir mon exemple... voir si je n'ai pas fait erreur
> part et me débarrasser de cette variable globale.
>
> Merci
>
>
>
>
Bonjour PetitTrot,
PetitTrot a écrit :
> Bonjour,
>
> Avec VB 6
>
> Soit que je veux sélectionner une valeur d'une liste sur un Form
> (formulaire)
> Alors mon programme affiche mon formulaire,
> - je fais ma sélection
> - la sélection est stockée dans variable globale
> - je quitte le formulaire
> - mon programme peut utiliser la variable globale
>
> Ce qui m'embête ici c'est la variable globale.
> Alors j'ai fait une classe dans laquelle j'ai mis mon formulaire.
> Je peux donc gérer mon formulaire à partir de la classe:
> afficher, cacher etc.
> Mon idée c'est de mettre la valeur de ma sélection dans une
> ma classe.
> Ainsi mon programme peux utiliser la propriété de la classe.
> Mais curieusement, j'ai été obligé d'utiliser une variable globale.
> Est-ce qu'il y a moyen que ma classe et mon formulaire partage une
> variable au niveau de la classe?
> (i.e. sans avoir une variable globale)
>
> Y a-t-il un design patern intelligent pour ça en VB 6?
> De façon générale: avoir un classe, afficher une ou des propriétés de
> cette classe sur un formulaire
> et modifier les propriétés via ce
> formulaire... sans utiliser de variables globales?
>
> Ok. Je retourne voir mon exemple... voir si je n'ai pas fait erreur
> part et me débarrasser de cette variable globale.
>
> Merci
>
Si j'ai bien compris, pourquoi ne pas utiliser Property Let et Property
Get directement dans la feuille ?
Dans Form1 :
Private Sub Command1_Click()
Form2.Prop1 = "Bonjour"
Form2.Show vbModal
MsgBox Form2.Prop1
End Sub
Dans Form2 :
Option Explicit
Private sProp1 As String
Public Property Let Prop1(ByVal newValue As String)
sProp1 = newValue
End Property
Public Property Get Prop1() As String
Prop1 = sProp1
End Property
Private Sub Command1_Click()
Prop1 = "Bonsoir"
Me.Hide
End Sub
Private Sub Form_Load()
MsgBox Prop1
End Sub
--
Cordialement,
Jacques.
Bonjour PetitTrot,
PetitTrot a écrit :
> Bonjour,
>
> Avec VB 6
>
> Soit que je veux sélectionner une valeur d'une liste sur un Form
> (formulaire)
> Alors mon programme affiche mon formulaire,
> - je fais ma sélection
> - la sélection est stockée dans variable globale
> - je quitte le formulaire
> - mon programme peut utiliser la variable globale
>
> Ce qui m'embête ici c'est la variable globale.
> Alors j'ai fait une classe dans laquelle j'ai mis mon formulaire.
> Je peux donc gérer mon formulaire à partir de la classe:
> afficher, cacher etc.
> Mon idée c'est de mettre la valeur de ma sélection dans une
> ma classe.
> Ainsi mon programme peux utiliser la propriété de la classe.
> Mais curieusement, j'ai été obligé d'utiliser une variable globale.
> Est-ce qu'il y a moyen que ma classe et mon formulaire partage une
> variable au niveau de la classe?
> (i.e. sans avoir une variable globale)
>
> Y a-t-il un design patern intelligent pour ça en VB 6?
> De façon générale: avoir un classe, afficher une ou des propriétés de
> cette classe sur un formulaire
> et modifier les propriétés via ce
> formulaire... sans utiliser de variables globales?
>
> Ok. Je retourne voir mon exemple... voir si je n'ai pas fait erreur
> part et me débarrasser de cette variable globale.
>
> Merci
>
Si j'ai bien compris, pourquoi ne pas utiliser Property Let et Property
Get directement dans la feuille ?
Dans Form1 :
Private Sub Command1_Click()
Form2.Prop1 = "Bonjour"
Form2.Show vbModal
MsgBox Form2.Prop1
End Sub
Dans Form2 :
Option Explicit
Private sProp1 As String
Public Property Let Prop1(ByVal newValue As String)
sProp1 = newValue
End Property
Public Property Get Prop1() As String
Prop1 = sProp1
End Property
Private Sub Command1_Click()
Prop1 = "Bonsoir"
Me.Hide
End Sub
Private Sub Form_Load()
MsgBox Prop1
End Sub
--
Cordialement,
Jacques.
Bonjour PetitTrot,
PetitTrot a écrit :
> Bonjour,
>
> Avec VB 6
>
> Soit que je veux sélectionner une valeur d'une liste sur un Form
> (formulaire)
> Alors mon programme affiche mon formulaire,
> - je fais ma sélection
> - la sélection est stockée dans variable globale
> - je quitte le formulaire
> - mon programme peut utiliser la variable globale
>
> Ce qui m'embête ici c'est la variable globale.
> Alors j'ai fait une classe dans laquelle j'ai mis mon formulaire.
> Je peux donc gérer mon formulaire à partir de la classe:
> afficher, cacher etc.
> Mon idée c'est de mettre la valeur de ma sélection dans une
> ma classe.
> Ainsi mon programme peux utiliser la propriété de la classe.
> Mais curieusement, j'ai été obligé d'utiliser une variable globale.
> Est-ce qu'il y a moyen que ma classe et mon formulaire partage une
> variable au niveau de la classe?
> (i.e. sans avoir une variable globale)
>
> Y a-t-il un design patern intelligent pour ça en VB 6?
> De façon générale: avoir un classe, afficher une ou des propriétés de
> cette classe sur un formulaire
> et modifier les propriétés via ce
> formulaire... sans utiliser de variables globales?
>
> Ok. Je retourne voir mon exemple... voir si je n'ai pas fait erreur
> part et me débarrasser de cette variable globale.
>
> Merci
>
Si j'ai bien compris, pourquoi ne pas utiliser Property Let et Property
Get directement dans la feuille ?
Dans Form1 :
Private Sub Command1_Click()
Form2.Prop1 = "Bonjour"
Form2.Show vbModal
MsgBox Form2.Prop1
End Sub
Dans Form2 :
Option Explicit
Private sProp1 As String
Public Property Let Prop1(ByVal newValue As String)
sProp1 = newValue
End Property
Public Property Get Prop1() As String
Prop1 = sProp1
End Property
Private Sub Command1_Click()
Prop1 = "Bonsoir"
Me.Hide
End Sub
Private Sub Form_Load()
MsgBox Prop1
End Sub
--
Cordialement,
Jacques.