PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → actualiser une fenêtre en arrière plan
actualiser une fenêtre en arrière plan
Iniciado por guest, jun., 08 2005 6:31 PM - 3 respostas
Publicado em junho, 08 2005 - 6:31 PM
Bonjour,

voiçi mon problème :
à partir d'une fenêtre (fen1) j'en lance une seconde (fen2) qui contient un tableau rempli à partir d'une BD, puis à partir de fen2 j'en lance une 3ème (fen3).
Les 3 fenêtres sont donc l'une "par dessus" l'autre.
Dans cette fen3 j'exécute des procédures qui modifient la BD.
Suite au clic d'un bouton dans fen3, je souhaite fermer fen3, "relancer/réactualiser" fen2, tout en gardant encore fen1 derrière tout ça.
fen3 est ma fenêtre active, j'ai essayé quelque chose comme :

Ferme(fen2)
Ouvre(fen2) // fen2 qui contient le code de remplissage du tableau dans son initialisation
Ferme(fen3)

qui ne marche pas du tout...
surtout l'enchainement Ferme/Ouvre fen2 qui ne fait que Fermer^fen2.
Ce qu je ne veux pas c'est utiliser "Utilise(fen2) sinon ma fen1 est fermée elle aussi et le fait de faire Ouvre(fen1) après Utilise(fen2) ne fonctionne pas mieux.
PS: j'utilise des fenêtres libres, pas des MDI.

Merci pour vos conseils.
Publicado em junho, 08 2005 - 7:51 PM
Bonjour,

Dans Fen1 : Code bouton qui ouvre la fenêtre fen2 :
ouvre(fen2).

Dans Fen2 : Code de bouton qui ouvre fen3
Ouvre(fen3)
// traitement de rafraîchissement, relance requêtes etc…



Dans Fen3 : Code bouton qui ferme la fenêtre tout simplement :
ferme().

Bonne chance
----------
//**//
Publicado em junho, 09 2005 - 6:42 PM
Le problème si j'applique ceci c'est que lorsque je ferme fen3 (ferme()), ma fen2 n'a pas été actualisée, puisque le tableau qu'elle contient est renseigné à l'initialisation de la fenêtre elle même.
La fen2 reprend donc juste le focus, sans que le tableau qu'elle contient n'ai pris en compte les changements effectués dans la fen3...
Vous voyez le problème ?
Et pourquoi ne peut on pas fermer et réouvrir une fenêtre à partir d'une autre fenêtre puis ensuite fermer cette dernière ?
C'est là qu'est mon problème.

En tous cas merci pour votre aide.
Publicado em junho, 13 2005 - 8:41 PM
Utilise la fonction "ExécuteTraitement(Nom de la fenêtre,Traitement)" ou traitement =
trOuverture ou trInit ou trFermeture ou une procédure ect...