GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEV
,
WEBDEV
e
WINDEV Mobile
Inicio
|
Postagens recentes
|
Conecte-se...
|
Desconectar
|
Português
Inicio
→
WINDEV (versões anteriores)
→
[W20] Msi à jour d'une variable depuis une fenêtre interne
[W20] Msi à jour d'une variable depuis une fenêtre interne
Iniciado por zzebulon, nov., 13 2024 3:08 PM - 5 respostas
Conecte-se…
zzebulon
#1
Membro registado
12 mensagems
Publicado em novembro, 13 2024 - 3:08 PM
Bonjour,
Je soumets ma question après de nombreuses essais et tentatives infructueuses ...
Dans une fenêtre A je désire afficher une fenêtre interne selon l'action demandée :
- sélection d'un fichier => FI_SelectionFichier
- analyse du fichier => FI_AnalyseFichier
je désire aussi afficher dans la fenêtre A un bouton dont le nom et l'action dépende de l'action en cours (selection ou analyse).
Enfin (et c'est pour cela que les choses se compliquent), je souhaite que le code de la fenêtre interne soit générique pour pouvoir l'utiliser dans d'autres fenetres...
------------------------------------------------------------------------------
Fenêtre A :
------------------------------------------------------------------------------
Dans l'initialisation de la fenêtre A :
GLOBAL
monfichier
est une chaîne
=
""
Dans la fin d'initialisation de la fenêtre A :
J'affecte la fenêtre interne FI_SelectionFichier au champ fenêtre interne.
ChangeFenêtreSource
(
CFI_
SansNom1
,
FI_
SelectionFichier
)
La sélection du fichier dans la fenêtre interne fonctionne :
monfichier
=
fSélecteur
(
masque
,
)
Dans la demande de mise à jour de la fenêtre A :
Je teste si nomfichier est rempli, j'affiche le bouton d'action.
SI
monfichier
<
>
""
BTN_
Action
..
Traitement
[
trtClic
] =
BTN_
Action_ImporterFichier
BTN_
Action
..
Visible
=
Vrai
SINON
// autre code
FIN
----
Problème : je passe bien par de mise à jour de la fenêtre A à l'ouverture de la fenêtre A mais pas après la sélection du fichier dans la fenêtre interne... (j'ai mis des "trace()")
Le fait d'ajouter "ExécuteMiseAJourIHM()" après la sélection du fichier dans la fenêtre interne ne change rien .
Le fait d'ajouter "ExécuteMiseAJourIHM(Mafenetre..nom)" après la sélection du fichier dans la fenêtre interne ne change rien .
En clair : je n'arrive pas à exécuter le code de mise à jour de la fenêtre A après la sélection du fichier dans la fenêtre interne...
Merci d'avance pour vos (bonnes) idées.
Denunciar
0
0
Cédric_34
#2
Membro registado
751 mensagems
Publicado em novembro, 13 2024 - 5:31 PM
Bonjour,
avez-vous essayé, dans la FI, de spécifier le nom de la fenêtre :
FenêtreA.MonChamp = xxx
Cdlt
Denunciar
0
0
zzebulon
#3
Membro registado
12 mensagems
Publicado em novembro, 13 2024 - 7:51 PM
Bonsoir et merci pour votre aide.
Je peux récupérer la valeur saisie dans la fenêtre interne dans la fenêtre A avec la syntaxe indiquée.
Mais cela ne résout pas mon problème qui est que je souhaite modifier les boutons visibles ou masqués dans la section "Demande de mise à jour de l'affichage" de la fenêtre A pour ne pas placer de code "Métier" dans la fenêtre interne...
Je n'arrive pas à faire exécuter cette section "Demande de mise à jour de l'affichage" de la fenêtre A après saisie d'une valeur dans la fenêtre interne même avec
ExécuteMiseAJourIHM
(
Fenetre_A
)
Seul le code de la section "Demande de mise à jour de l'affichage" de la fenêtre A" est exécuté par cette commande ...
Cordialement
Denunciar
0
0
Cédric_34
#4
Membro registado
751 mensagems
Publicado em novembro, 13 2024 - 10:14 PM
Une possibilité serait de placer le code de rafraichissement dans une procédure et pas dans "Demande de mise à jour de l'affichage".
Vous pouvez alors appeler la procédure depuis la Fenêtre A ou depuis la FI pour déclencher la mise à jour.
Comme précisé plus haut, vous indiquez dans la procédure : FenêtreA.MonChamp à mettre à jour.
Cdlt
Denunciar
0
0
zzebulon
#5
Membro registado
12 mensagems
Publicado em novembro, 14 2024 - 10:27 AM
Bonjour Cédric,
J'étais arrivé à la même conclusion. J'ai donc placé le code dans une procédure locale de la Fenetre_A mais il semble impossible d'y faire référence depuis la FI sans utiliser une référence : Fenetre_A..maprocédure
Les mots clefs "MonParent" ou "MaFenetre" ne permettent pas de faire appel à une procédure dans la fenêtre A.
Cela m'empêche de rendre le code de la FI générique...
Je continue mes recherches...
Cordialement.
Denunciar
0
0
zzebulon
#6
Membro registado
12 mensagems
Publicado em novembro, 14 2024 - 11:02 AM
Je pense que je viens de trouver une solution
-------------------------------------------------------------
Dans la fenetre A
-------------------------------------------------------------
Placer le code qui affiche ou masque les boutons dans une procédure locale de la fenêtre A
-------------------------------------------------------------
Dans la fenetre interne
-------------------------------------------------------------
Dans le sélecteur de fichier - section "Clic sur BTN_SelectionnerFichier"
ExécuteMiseAJourIHM
(
)
Dans la section "Demande de mise à jour"
{
MaFenêtre
..
Nom
+
".mavariable"
} =
champ_fenetre_interne
ExécuteTraitement
(
MaFenêtre
..
Nom
+
".AfficherBoutons"
,
trtProcedure
)
Ainsi, à chaque fois que l'on demande une mise à jour de l'affichage de la fenêtre interne :
- la valeur saisie est "remontée" à la variable de la fenêtre A.
- le traitement est appelé.
Il y a peut être plus élégant mais cela semble répondre au besoin d'isolement du code et permet d'avoir des fenêtres interne génériques...
Cordialement.
Denunciar
0
0
→ Voltar para WINDEV (versões anteriores)
WINDEV 25
WINDEV 26
WINDEV 2024
WINDEV 2024
WINDEV 2024
WINDEV 2024
WEBDEV 2024
WEBDEV 2024
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV Mobile 2024
WINDEV Mobile 2024
WINDEV (versões anteriores)
WINDEV (versões anteriores)
WINDEV (versões anteriores)
WEBDEV (versões anteriores)
WEBDEV (versões anteriores)
WINDEV Mobile (versões anteriores)
WINDEV Mobile (versões anteriores)
Reports & Queries
Reports & Queries
Off-topic
Off-topic
Ferramentas
Ferramentas
Français
English
Español
Portuguesa
Fermer cette fenêtre
Tipo de Pesquisa
Apenas tópicos
Todas as mensagens
Período de pesquisa
Qualquer momento
Última hora
Últimas 24 horas
Semana passada
Mês passado
Ano passado
Cancelar
Pré-visualização da sua mensagem
Adicionar imagem
Importar uma imagem de uma URL
Enviar uma imagem a partir do seu disco
Deixe um ficheiro ou clique em "Procurar ..."
ou
Cancelar
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Texto