Bonjour

J'ai remarqué un comportement assez inhabituel chez Windev (comparé aux autres languages, s'entend) et j'aimerais savoir si c'est "normal" ou pas.

Une fenêtre A ouvre une fenêtre B en lui passant en paramètre la valeur d'un champ d'une table T.

Dans ma fenêtre appelée "B" j'ai besoin de lire aussi d'autres enregistrements de la table T (hFiltre, HLit ....). Et ce faisant j'ai remarqué que mon paramètre change également de valeur !

Exemple concret :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
Fenêtre "A"
------------
Ouvre("B", T.CHAMP)  // ici T.CHAMP vaut 1
 
Fenêtre "B"
-----------
Procédure B(p_parametre)
 
[...]
 
HFiltre(T,CHAMP,2)
HLit(T)
et à partir d'ici p_parametre ne vaut plus 1 mais 2, cad qu'il semble qu'il ne soit pas statique mais évolue dynamiquement en fonction du champ à partir duquel il a eu sa valeur.

La solution est facile : transvaser mon parametre dans une variable locale et ne travaille qu'avec cette variable locale, mais je trouve cela relou.

Pouvez-vous me confirmez que c'est un comportement normal ?

Merci
Loko