PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Une mauvaise habitude ?
Une mauvaise habitude ?
Started by Florent, Jan., 23 2006 10:34 AM - 5 replies
Posted on January, 23 2006 - 10:34 AM
Bonjour,

Jusqu'à la version 8, je créais toujours des variables dans le code init de
mon projet. Et, ensuite, je passais ces variables dans mon code à
l'ouverture de la fenetre.

Par exemple :

// Code Init du Projet WD

NomProf est une chaine

// Clic bouton quelconque

NomProf = Table.NomProf
Ouvre(FenetreDetails,NomProf)

>>> Ceci est il mauvais ?? Est-ce que j'oublie quelque chose ??

NB : La version 10 mets systématiquement des erreurs pour ces codes là.

Merci de votre réponse.

Flo
Posted on January, 23 2006 - 11:46 AM
Bonjour,

a priori, quand vous déclarez une variable dans l'init du projet elle est globale donc visible pour toute fonction, ou fenêtre du projet.

donc l'affectation :

NomProf = Table.NomProf est suffisante pour que la fenêtre FenetreDétails connaisse le contenu de la variable.


Le passage du parametre dans l'appel Ouvre(FenetreDetails,NomProf) donne peut-etre une portée locale à cette variable globale, d'ou le problème.
Posted on January, 23 2006 - 4:25 PM
L'utilisation d'une varaible globale au pron=jet ne me parraît pas
nécessaire.

Il suffit d'écritre :
Ouvre(FenetreDetail,Table.NomProf)

--
Cordialement.

Patrick Bouquet
Membre WINDASSO - Association des utilisateurs WxxDEV(c)
http://www.windasso.org


"Florent" <florent.alto@free.fr> a écrit dans le message de news:
43d33533$1@news.pcsoft.fr...

Bonjour,

Jusqu'à la version 8, je créais toujours des variables dans le code init
de
mon projet. Et, ensuite, je passais ces variables dans mon code à
l'ouverture de la fenetre.

Par exemple :

// Code Init du Projet WD

NomProf est une chaine

// Clic bouton quelconque

NomProf = Table.NomProf
Ouvre(FenetreDetails,NomProf)

Ceci est il mauvais ?? Est-ce que j'oublie quelque chose ??

NB : La version 10 mets systématiquement des erreurs pour ces codes là.

Merci de votre réponse.

Flo


Posted on January, 23 2006 - 10:41 PM
Effectivement, il semble que ce soit une mauvaise habitude prise dans tes développements antérieurs... La variable étant globale, tu n'as donc pas à la passer en paramètre puisque l'utilisation d'une variable globale au projet perds alors tout son sens.

Si elle est globale, c'est pour éviter de passer des paramètres car cette variable est probablement très utilisée par à peu près toutes tes fenêtres.

Luc
Posted on January, 23 2006 - 10:42 PM
OK Patrick. Mais comment dans la fenetre "FenetreDetail" tu affectes le
paramètre passé ???



"Patrick Bouquet" <patrick.bouqueet@Wanadoo.fr> a écrit dans le message de
news: 43d4e138$1@news.pcsoft.fr...

L'utilisation d'une varaible globale au pron=jet ne me parraît pas
nécessaire.

Il suffit d'écritre :
Ouvre(FenetreDetail,Table.NomProf)

--
Cordialement.

Patrick Bouquet
Membre WINDASSO - Association des utilisateurs WxxDEV(c)
http://www.windasso.org


"Florent" <florent.alto@free.fr> a écrit dans le message de news:
43d33533$1@news.pcsoft.fr...

Bonjour,

Jusqu'à la version 8, je créais toujours des variables dans le code init
de
mon projet. Et, ensuite, je passais ces variables dans mon code à
l'ouverture de la fenetre.

Par exemple :

// Code Init du Projet WD

NomProf est une chaine

// Clic bouton quelconque

NomProf = Table.NomProf
Ouvre(FenetreDetails,NomProf)

Ceci est il mauvais ?? Est-ce que j'oublie quelque chose ??

NB : La version 10 mets systématiquement des erreurs pour ces codes là.

Merci de votre réponse.

Flo




Posted on January, 24 2006 - 10:40 AM
Il faut déclarer le paramètre dans la code d'initialisation de la fenêtre :

PROCEDURE FenetreDetail(pParam)

On peut également rendre le paramètre facultatif :

PROCEDURE FenetreDetail(pParamU)

si la fenêtre est ouverte sans passage de paramètre pParam aura la valeur
55.

--
Cordialement.

Patrick Bouquet
Membre WINDASSO - Association des utilisateurs WxxDEV(c)
http://www.windasso.org


"Florent" <florent.alto@free.fr> a écrit dans le message de news:
43d5256d$1@news.pcsoft.fr...
OK Patrick. Mais comment dans la fenetre "FenetreDetail" tu affectes le
paramètre passé ???



"Patrick Bouquet" <patrick.bouqueet@Wanadoo.fr> a écrit dans le message de
news: 43d4e138$1@news.pcsoft.fr...

L'utilisation d'une varaible globale au pron=jet ne me parraît pas
nécessaire.

Il suffit d'écritre :
Ouvre(FenetreDetail,Table.NomProf)

--
Cordialement.

Patrick Bouquet
Membre WINDASSO - Association des utilisateurs WxxDEV(c)
http://www.windasso.org


"Florent" <florent.alto@free.fr> a écrit dans le message de news:
43d33533$1@news.pcsoft.fr...

Bonjour,

Jusqu'à la version 8, je créais toujours des variables dans le code init
de
mon projet. Et, ensuite, je passais ces variables dans mon code à
l'ouverture de la fenetre.

Par exemple :

// Code Init du Projet WD

NomProf est une chaine

// Clic bouton quelconque

NomProf = Table.NomProf
Ouvre(FenetreDetails,NomProf)

Ceci est il mauvais ?? Est-ce que j'oublie quelque chose ??

NB : La version 10 mets systématiquement des erreurs pour ces codes là.

Merci de votre réponse.

Flo