[..] Rafraîchissement fenêtre

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
philipperoger
Niveau 1
Niveau 1
Messages : 3
Enregistré le : ven. 23 août 2013 04:48
Status : Hors ligne

[..] Rafraîchissement fenêtre

#1

Message 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
Modifié en dernier par philipperoger le ven. 23 août 2013 11:59, modifié 1 fois.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: refresh la fenêtre

#2

Message 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.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: refresh la fenêtre

#3

Message par mikell »

Prière de mettre le titre du sujet en conformité avec les règles de présentation d'un sujet
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
philipperoger
Niveau 1
Niveau 1
Messages : 3
Enregistré le : ven. 23 août 2013 04:48
Status : Hors ligne

Re: [..]refresh la fenêtre

#4

Message 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
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..]refresh la fenêtre

#5

Message 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.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Répondre