PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Une mauvaise habitude ?
Une mauvaise habitude ?
Débuté par florent.alto, 23 jan. 2006 10:34 - 5 réponses
Posté le 23 janvier 2006 - 10:34
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
Posté le 23 janvier 2006 - 11:46
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.
Posté le 23 janvier 2006 - 16:25
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


Posté le 23 janvier 2006 - 22:41
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
Posté le 23 janvier 2006 - 22:42
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




Posté le 24 janvier 2006 - 10:40
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