Page 1 sur 1

[..] Rafraîchissement fenêtre

Posté : ven. 23 août 2013 05:27
par philipperoger
Bonjour

j'ai donc fait un programme eu gui.

j'ai main qui inclut toutes les libraires et qui a le code suivant

Code : Tout sélectionner

Global $main
While Not _NetCompatibility()
    GUICtrlDelete($main)
    ;Global $main
    _NetCompatibility()
WEnd
le gui est donc créé par _NetCompatibility() qui renvoie des Falses à chaque fois qu'il a besoin d'actualiser le gui
ça functionne pas mal mais je me retrouve avec plusieurs windows comme si la function GUICtrlDelete n'avait pas functionné et GUIDelete donne le même resultat

Auriez vous des conseils

Merci

Re: refresh la fenêtre

Posté : ven. 23 août 2013 09:06
par jchd
A première vue (sénile) tu crées ton contrôle deux fois par boucle et le détruis une fois.
Tu as réalisé une photocopieuse, en quelque sorte, dont tu ne nous montres pas les plans (le reste de ton code).

Ceci mis à part, tu devrais créer ton GUI (l'IHM en hexagonal) bille en tête en l'initialisant si besoin, entrer dans ta boucle de gestion des messages de ton GUI et traiter l'effacement des contrôles (pas leur destruction) sur l'évènement qui déclenche le calcul bon/pasbon.

Sur demande de fin du programme tu peux détruire ton GUI, mais c'est très optionnel s'il n'y a plus rien à faire.

Re: refresh la fenêtre

Posté : ven. 23 août 2013 10:39
par mikell
Prière de mettre le titre du sujet en conformité avec les règles de présentation d'un sujet

Re: [..]refresh la fenêtre

Posté : ven. 23 août 2013 12:10
par philipperoger
Je te remercie pour ta reponse Jchd

le code fait 500 lignes mais schématiquement c'est ce que tu as décris

le qui est créé par la fonction appelée _netcompatibility

Code : Tout sélectionner

- créé le gui ($main) 
- présente des controles et des boutons dont les actions modifieront les informations présentées dans le gui
c'est la raison pour laquelle j'avais pensé à un refresh global du gui
les les actions return False
ainsi on retourne sur le script parent qui lui n'est pas un qui
qui fait un deletegui sur $main et relance la fonction netcompatibility [/code]

et malheureusement je me retrouve avec plusieurs gui ouverts, interconnectés de manière à ce que si je ferme une fenêtre : toutes se ferment

Re: [..]refresh la fenêtre

Posté : ven. 23 août 2013 12:34
par jchd
C'est la structure de ton code qui te pose ces soucis, outre le fait que tu invoques deux fois ta fonction de création/test et une seule fois la destruction.

Réorganise ton code selon le principe exposé (voir aussi la plupart des exemples des fonctions GUI*) et tu verras que tes problèmes vont s'évanouir dans l'espace-temps.