PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Fenêtre Interne dynamique et passage de paramètre par référence
Fenêtre Interne dynamique et passage de paramètre par référence
Débuté par Marc77, 10 juin 2016 15:09 - 2 réponses
Membre enregistré
65 messages
Posté le 10 juin 2016 - 15:09
bonjour,
dans fen_principale, je change dynamiquement ma fenetre interne en lui passant par référence ma classe
ChangeFenêtreSource(cfi_detail, fi_detail, gcl_MaClasse)

dans la fenêtre interne, j'ai dans déclarations globales :
Procedure MaFenêtre_Interne( Classe_Par_Référence est un cMaCLasse)

lorsque je fais dans la fenêtre principale
gcl_MaClasse:m_sChaine = "coucou"
EcranVersFichier(fen_principale)

le champ lié à Classe_par_Référence.sChaine de la fenêtre interne affiche bien "coucou"

par contre, si je change dans la fenêtre interne la valeur du champ qui contient "coucou" en "bye bye" puis que je fais depuis la fenetre principale
FichierVersEcran(fen_princpale)

j'ai toujours coucou dans la valeur de gcl_MaClasse:m_sChaine !

j'ai trouvé qu'en faisant depuis la fenêtre interne
FichierVersEcran(fen_principale, "Classe_Par_Référence")

j'ai bien "bye bye" qui descent, mais du coup, ca devient compliqué d'avoir un bouton unique "ENREGISTRER" dans le fenêtre principale.

On dirait donc que le passage par référence ne se fait qu'a sens unique !

j'ai trouvé une astuce créant une référence dans la fénêtre principale et là tout se passe plus logiquement
//dans fenêtre interne, déclarations globales
Procedure MaFenêtre_Interne()
Classe_Par_Référence est un cMaCLasse

//dans fenêtre principale
ChangeFenêtreSource(cfi_detail, fi_detail)
//Obligation de référencer la classe, ChangeFenetreSource passant par référence à sens unique !
fi_detail.Classe_Par_Référence <- FEN_principale.gcl_gcl_MaClasse


est-ce bien ainsi qu'il faille passer les variables par référence !
Posté le 10 juin 2016 - 21:22
Bonjour, je te suggère de passer le paramètre de la fenêtre interne en dynamique.
Procedure MaFenêtre_Interne( Classe_Par_Référence est un cMaCLasse dynamique)
Membre enregistré
65 messages
Posté le 14 juin 2016 - 09:06
Ah, oui, effectivement, la variable est bien passée par référence !
La documentation est très floue sur ce mot, même la complétion ne propose pas le mot.
Quelle différence y a il entre une instanciation "ordinaire" et une instanciation "dynamique" ?
En tout cas merci.