Dans une classe j'aimerais déclarer une constante qui pourrait être utilisée
par le code qui utilise la classe. Comment puis-je faire cela ?
Pour le moment, je n'ai trouvé comme solution que de mettre une fonction qui
renvoie la constante.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
parci
Patrick a écrit :
Bonjour,
Dans une classe j'aimerais déclarer une constante qui pourrait être utilisée par le code qui utilise la classe. Comment puis-je faire cela ? Pour le moment, je n'ai trouvé comme solution que de mettre une fonction qui renvoie la constante.
Une propriété plutôt qu'une fonction mais ça revient au même. Si ta constante est de type Long tu peux faire la déclarer avec Enum Public dans la classe (elle sera visible partout). Un peu bizarre d'ailleurs que les constantes publiques soient interdites mais pas les Enum. Si quelqu'un voit pourquoi.
Patrick a écrit :
Bonjour,
Dans une classe j'aimerais déclarer une constante qui pourrait être utilisée
par le code qui utilise la classe. Comment puis-je faire cela ?
Pour le moment, je n'ai trouvé comme solution que de mettre une fonction qui
renvoie la constante.
Une propriété plutôt qu'une fonction mais ça revient au même.
Si ta constante est de type Long tu peux faire la déclarer avec Enum
Public dans la classe (elle sera visible partout). Un peu bizarre
d'ailleurs que les constantes publiques soient interdites mais pas les
Enum. Si quelqu'un voit pourquoi.
Dans une classe j'aimerais déclarer une constante qui pourrait être utilisée par le code qui utilise la classe. Comment puis-je faire cela ? Pour le moment, je n'ai trouvé comme solution que de mettre une fonction qui renvoie la constante.
Une propriété plutôt qu'une fonction mais ça revient au même. Si ta constante est de type Long tu peux faire la déclarer avec Enum Public dans la classe (elle sera visible partout). Un peu bizarre d'ailleurs que les constantes publiques soient interdites mais pas les Enum. Si quelqu'un voit pourquoi.
Jacques93
Bonjour, parci a écrit :
Patrick a écrit :
Bonjour,
Dans une classe j'aimerais déclarer une constante qui pourrait être utilisée par le code qui utilise la classe. Comment puis-je faire cela ? Pour le moment, je n'ai trouvé comme solution que de mettre une fonction qui renvoie la constante.
Une propriété plutôt qu'une fonction mais ça revient au même.
Mais c'est plus propre :-)
Si ta constante est de type Long tu peux faire la déclarer avec Enum Public dans la classe (elle sera visible partout). Un peu bizarre d'ailleurs que les constantes publiques soient interdites mais pas les Enum. Si quelqu'un voit pourquoi.
Hypothèse sur le dernier point :
On prend :
Un projet dll ActiveX, qui comprend donc un module de classe comportant un Public Enum, et on le compile
Un projet standard qui utilise cette dll (ajout d'une référence)
Les valeurs de l'énumération restent dans la dll. Dans le cas d'un changement de valeur dans l'énumération, il suffit modifier, recompiler et distribuer la dll. Les projets l'utilisant restent inchangés.
Dans le cas d'une constantes, c'est lors de la compilation que les noms de constantes sont remplacés par leur valeur, elles se retrouveraient donc dans l'exe du projet standard, et non plus dans la dll. Dans le cas de modification, il faudrait recompiler et distribuer tous les projets utilisant cette dll.
Donc constantes Public dans un module 'standard' OK, mais pas dans un module de classe.
--
Cordialement,
Jacques.
Bonjour,
parci a écrit :
Patrick a écrit :
Bonjour,
Dans une classe j'aimerais déclarer une constante qui pourrait être
utilisée par le code qui utilise la classe. Comment puis-je faire cela ?
Pour le moment, je n'ai trouvé comme solution que de mettre une
fonction qui renvoie la constante.
Une propriété plutôt qu'une fonction mais ça revient au même.
Mais c'est plus propre :-)
Si ta constante est de type Long tu peux faire la déclarer avec Enum
Public dans la classe (elle sera visible partout). Un peu bizarre
d'ailleurs que les constantes publiques soient interdites mais pas les
Enum. Si quelqu'un voit pourquoi.
Hypothèse sur le dernier point :
On prend :
Un projet dll ActiveX, qui comprend donc un module de
classe comportant un Public Enum, et on le compile
Un projet standard qui utilise cette dll (ajout d'une référence)
Les valeurs de l'énumération restent dans la dll. Dans le cas d'un
changement de valeur dans l'énumération, il suffit modifier, recompiler
et distribuer la dll. Les projets l'utilisant restent inchangés.
Dans le cas d'une constantes, c'est lors de la compilation que les noms
de constantes sont remplacés par leur valeur, elles se retrouveraient
donc dans l'exe du projet standard, et non plus dans la dll. Dans le cas
de modification, il faudrait recompiler et distribuer tous les projets
utilisant cette dll.
Donc constantes Public dans un module 'standard' OK, mais pas dans un
module de classe.
Dans une classe j'aimerais déclarer une constante qui pourrait être utilisée par le code qui utilise la classe. Comment puis-je faire cela ? Pour le moment, je n'ai trouvé comme solution que de mettre une fonction qui renvoie la constante.
Une propriété plutôt qu'une fonction mais ça revient au même.
Mais c'est plus propre :-)
Si ta constante est de type Long tu peux faire la déclarer avec Enum Public dans la classe (elle sera visible partout). Un peu bizarre d'ailleurs que les constantes publiques soient interdites mais pas les Enum. Si quelqu'un voit pourquoi.
Hypothèse sur le dernier point :
On prend :
Un projet dll ActiveX, qui comprend donc un module de classe comportant un Public Enum, et on le compile
Un projet standard qui utilise cette dll (ajout d'une référence)
Les valeurs de l'énumération restent dans la dll. Dans le cas d'un changement de valeur dans l'énumération, il suffit modifier, recompiler et distribuer la dll. Les projets l'utilisant restent inchangés.
Dans le cas d'une constantes, c'est lors de la compilation que les noms de constantes sont remplacés par leur valeur, elles se retrouveraient donc dans l'exe du projet standard, et non plus dans la dll. Dans le cas de modification, il faudrait recompiler et distribuer tous les projets utilisant cette dll.
Donc constantes Public dans un module 'standard' OK, mais pas dans un module de classe.
--
Cordialement,
Jacques.
Patrick
Merci beaucoup.
Je ne sais pas si c'est le mieux mais, en ce qui me concerne, quand je souhaite qu'une propriété d'une classe soit en lecture seule, j'utilise une fonction plutôt qu'une propriété. Y a-t-il une différence suffisamment importante pour utiliser dans ce cas plutôt une propriété qu'une fonction ?
Encore merci.
-- Patrick
"parci" wrote:
Patrick a écrit : > Bonjour, > > Dans une classe j'aimerais déclarer une constante qui pourrait être utilisée > par le code qui utilise la classe. Comment puis-je faire cela ? > Pour le moment, je n'ai trouvé comme solution que de mettre une fonction qui > renvoie la constante.
Une propriété plutôt qu'une fonction mais ça revient au même. Si ta constante est de type Long tu peux faire la déclarer avec Enum Public dans la classe (elle sera visible partout). Un peu bizarre d'ailleurs que les constantes publiques soient interdites mais pas les Enum. Si quelqu'un voit pourquoi.
Merci beaucoup.
Je ne sais pas si c'est le mieux mais, en ce qui me concerne, quand je
souhaite qu'une propriété d'une classe soit en lecture seule, j'utilise une
fonction plutôt qu'une propriété. Y a-t-il une différence suffisamment
importante pour utiliser dans ce cas plutôt une propriété qu'une fonction ?
Encore merci.
--
Patrick
"parci" wrote:
Patrick a écrit :
> Bonjour,
>
> Dans une classe j'aimerais déclarer une constante qui pourrait être utilisée
> par le code qui utilise la classe. Comment puis-je faire cela ?
> Pour le moment, je n'ai trouvé comme solution que de mettre une fonction qui
> renvoie la constante.
Une propriété plutôt qu'une fonction mais ça revient au même.
Si ta constante est de type Long tu peux faire la déclarer avec Enum
Public dans la classe (elle sera visible partout). Un peu bizarre
d'ailleurs que les constantes publiques soient interdites mais pas les
Enum. Si quelqu'un voit pourquoi.
Je ne sais pas si c'est le mieux mais, en ce qui me concerne, quand je souhaite qu'une propriété d'une classe soit en lecture seule, j'utilise une fonction plutôt qu'une propriété. Y a-t-il une différence suffisamment importante pour utiliser dans ce cas plutôt une propriété qu'une fonction ?
Encore merci.
-- Patrick
"parci" wrote:
Patrick a écrit : > Bonjour, > > Dans une classe j'aimerais déclarer une constante qui pourrait être utilisée > par le code qui utilise la classe. Comment puis-je faire cela ? > Pour le moment, je n'ai trouvé comme solution que de mettre une fonction qui > renvoie la constante.
Une propriété plutôt qu'une fonction mais ça revient au même. Si ta constante est de type Long tu peux faire la déclarer avec Enum Public dans la classe (elle sera visible partout). Un peu bizarre d'ailleurs que les constantes publiques soient interdites mais pas les Enum. Si quelqu'un voit pourquoi.
jean-marc
"Patrick" wrote in message news:
Merci beaucoup.
Je ne sais pas si c'est le mieux mais, en ce qui me concerne, quand je souhaite qu'une propriété d'une classe soit en lecture seule, j'utilise une fonction plutôt qu'une propriété. Y a-t-il une différence suffisamment importante pour utiliser dans ce cas plutôt une propriété qu'une fonction ?
Hello,
je signale juste qu'on peut utiliser le mécanisme de propriétés pour définir une constante ou variable en lecture seule. Il suffit dans ce cas de ne définir que la property GET et pas le LET/SET.
D'un point de vue strictement sémantique, il est certain que pour ce cas une propriété est plus appropriée, plus propre.^
Mais l'emploi d'une fonction n'est pas choquant en soi dans ce contexte. A ce niveau, je dirais qu'on peut presque parler de préférences persos.
"Patrick" <no.spam.patrick.fredin@iquebec.com> wrote in message
news:FE13910D-A962-438B-8663-5F6EC5A94434@microsoft.com...
Merci beaucoup.
Je ne sais pas si c'est le mieux mais, en ce qui me concerne, quand je
souhaite qu'une propriété d'une classe soit en lecture seule, j'utilise
une
fonction plutôt qu'une propriété. Y a-t-il une différence suffisamment
importante pour utiliser dans ce cas plutôt une propriété qu'une fonction
?
Hello,
je signale juste qu'on peut utiliser le mécanisme de propriétés pour définir
une constante ou variable en lecture seule. Il suffit dans ce cas de ne
définir
que la property GET et pas le LET/SET.
D'un point de vue strictement sémantique, il est certain que pour ce cas
une propriété est plus appropriée, plus propre.^
Mais l'emploi d'une fonction n'est pas choquant en soi dans ce contexte.
A ce niveau, je dirais qu'on peut presque parler de préférences persos.
Je ne sais pas si c'est le mieux mais, en ce qui me concerne, quand je souhaite qu'une propriété d'une classe soit en lecture seule, j'utilise une fonction plutôt qu'une propriété. Y a-t-il une différence suffisamment importante pour utiliser dans ce cas plutôt une propriété qu'une fonction ?
Hello,
je signale juste qu'on peut utiliser le mécanisme de propriétés pour définir une constante ou variable en lecture seule. Il suffit dans ce cas de ne définir que la property GET et pas le LET/SET.
D'un point de vue strictement sémantique, il est certain que pour ce cas une propriété est plus appropriée, plus propre.^
Mais l'emploi d'une fonction n'est pas choquant en soi dans ce contexte. A ce niveau, je dirais qu'on peut presque parler de préférences persos.
"Patrick" wrote in message news: > Merci beaucoup. > > Je ne sais pas si c'est le mieux mais, en ce qui me concerne, quand je > souhaite qu'une propriété d'une classe soit en lecture seule, j'utilise > une > fonction plutôt qu'une propriété. Y a-t-il une différence suffisamment > importante pour utiliser dans ce cas plutôt une propriété qu'une fonction > ?
Hello,
je signale juste qu'on peut utiliser le mécanisme de propriétés pour définir une constante ou variable en lecture seule. Il suffit dans ce cas de ne définir que la property GET et pas le LET/SET.
D'un point de vue strictement sémantique, il est certain que pour ce cas une propriété est plus appropriée, plus propre.^
Mais l'emploi d'une fonction n'est pas choquant en soi dans ce contexte. A ce niveau, je dirais qu'on peut presque parler de préférences persos.
"Patrick" <no.spam.patrick.fredin@iquebec.com> wrote in message
news:FE13910D-A962-438B-8663-5F6EC5A94434@microsoft.com...
> Merci beaucoup.
>
> Je ne sais pas si c'est le mieux mais, en ce qui me concerne, quand je
> souhaite qu'une propriété d'une classe soit en lecture seule, j'utilise
> une
> fonction plutôt qu'une propriété. Y a-t-il une différence suffisamment
> importante pour utiliser dans ce cas plutôt une propriété qu'une fonction
> ?
Hello,
je signale juste qu'on peut utiliser le mécanisme de propriétés pour définir
une constante ou variable en lecture seule. Il suffit dans ce cas de ne
définir
que la property GET et pas le LET/SET.
D'un point de vue strictement sémantique, il est certain que pour ce cas
une propriété est plus appropriée, plus propre.^
Mais l'emploi d'une fonction n'est pas choquant en soi dans ce contexte.
A ce niveau, je dirais qu'on peut presque parler de préférences persos.
"Patrick" wrote in message news: > Merci beaucoup. > > Je ne sais pas si c'est le mieux mais, en ce qui me concerne, quand je > souhaite qu'une propriété d'une classe soit en lecture seule, j'utilise > une > fonction plutôt qu'une propriété. Y a-t-il une différence suffisamment > importante pour utiliser dans ce cas plutôt une propriété qu'une fonction > ?
Hello,
je signale juste qu'on peut utiliser le mécanisme de propriétés pour définir une constante ou variable en lecture seule. Il suffit dans ce cas de ne définir que la property GET et pas le LET/SET.
D'un point de vue strictement sémantique, il est certain que pour ce cas une propriété est plus appropriée, plus propre.^
Mais l'emploi d'une fonction n'est pas choquant en soi dans ce contexte. A ce niveau, je dirais qu'on peut presque parler de préférences persos.
Je ne sais pas si c'est le mieux mais, en ce qui me concerne, quand je souhaite qu'une propriété d'une classe soit en lecture seule, j'utilise une fonction plutôt qu'une propriété. Y a-t-il une différence suffisamment importante pour utiliser dans ce cas plutôt une propriété qu'une fonction ?
En complément, voici un lien vers la doc de VB ou il y a une intéressante discussion à ce sujet :
"Patrick" <no.spam.patrick.fredin@iquebec.com> wrote in message
news:FE13910D-A962-438B-8663-5F6EC5A94434@microsoft.com...
Merci beaucoup.
Je ne sais pas si c'est le mieux mais, en ce qui me concerne, quand je
souhaite qu'une propriété d'une classe soit en lecture seule, j'utilise
une
fonction plutôt qu'une propriété. Y a-t-il une différence suffisamment
importante pour utiliser dans ce cas plutôt une propriété qu'une fonction
?
En complément, voici un lien vers la doc de VB ou il y a une intéressante
discussion à ce sujet :
Je ne sais pas si c'est le mieux mais, en ce qui me concerne, quand je souhaite qu'une propriété d'une classe soit en lecture seule, j'utilise une fonction plutôt qu'une propriété. Y a-t-il une différence suffisamment importante pour utiliser dans ce cas plutôt une propriété qu'une fonction ?
En complément, voici un lien vers la doc de VB ou il y a une intéressante discussion à ce sujet :
Je ne sais pas si c'est le mieux mais, en ce qui me concerne, quand je souhaite qu'une propriété d'une classe soit en lecture seule, j'utilise une fonction plutôt qu'une propriété. Y a-t-il une différence suffisamment importante pour utiliser dans ce cas plutôt une propriété qu'une fonction ?
En complément, voici un lien vers la doc de VB ou il y a une intéressante discussion à ce sujet :
Penser également le cas des Contrôles ActiveX (.ocx), une Propriété apparaitra automatiquement dans la fenêtre de propriété de VB, pas une fonction.
Bon c'est dans le lien de Jean-Marc, mais j'envoie, j'aurai pas tapé pour rien :-)
--
Cordialement,
Jacques.
Bonjour,
jean-marc a écrit :
"Patrick" <no.spam.patrick.fredin@iquebec.com> wrote in message
news:FE13910D-A962-438B-8663-5F6EC5A94434@microsoft.com...
Merci beaucoup.
Je ne sais pas si c'est le mieux mais, en ce qui me concerne, quand je
souhaite qu'une propriété d'une classe soit en lecture seule, j'utilise
une
fonction plutôt qu'une propriété. Y a-t-il une différence suffisamment
importante pour utiliser dans ce cas plutôt une propriété qu'une fonction
?
En complément, voici un lien vers la doc de VB ou il y a une intéressante
discussion à ce sujet :
Je ne sais pas si c'est le mieux mais, en ce qui me concerne, quand je souhaite qu'une propriété d'une classe soit en lecture seule, j'utilise une fonction plutôt qu'une propriété. Y a-t-il une différence suffisamment importante pour utiliser dans ce cas plutôt une propriété qu'une fonction ?
En complément, voici un lien vers la doc de VB ou il y a une intéressante discussion à ce sujet :