cs_satsuki
Messages postés10Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention 1 décembre 2011
-
3 mars 2004 à 11:53
cs_satsuki
Messages postés10Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention 1 décembre 2011
-
3 mars 2004 à 18:01
Bonjours,
deja merci à tous pour ce super site j'y trouve regulierement des reponces à mes questions, mais là, je suis completement bloqué.
j'ai dans une partie de mon code, besion de masquer des frames et d'en afficher une autre avant d'utiliser une fonction d'analyse fichiers derrière
=>
Private Sub analyse_Click()
labelanalyse.Caption = "Analyse en cours"
Frame13.Visible = False
Frame20.Visible = False
Frame14.Visible = False
Frame1.Visible = False
frame21.Visible = True
Call analyse
End Sub
mais probleme, quand je lance ce code l'analyse se lance sans avoir changé les frames , apres quelques secondes les frames "visible false" passent en fond gris clair et ma souris se met en "attente" (comme quand une application ne repond plus) puis à la fin de l'analyse en moins d'une secondes, j'ai les frames qui réagissent de la façon spécifée dans le code> je n'y comprend rien, VB n'est il pas censé attendre la fin des frame.visible pour lancer le call dans ce code ?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 3 mars 2004 à 16:09
Donc tu as une procédure nommée analyse, et un bouton nommé analyse ? C'est plutôt mauvais de mettre le même nom pour plusieurs procédure !
Enfin bon, si ta fonction analyse est longue, VB n'a peut-être pas le temps d'envoyer le message de rafraichissement de fenêtre à windows avant de faire appel à la fonction analyse, donc il faut mettre un DoEvents avant l'appel de la fonction analyse :
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 3 mars 2004 à 12:12
Amon avis, cela vient du fait que tu fait un appel récursif de fonction : tu appelle ta fonction à l'intérieur de celle-ci. Et vu qu'il n'y a aucune clause d'échappement, tu as de la chance que ton prog ne plante tout simplement pas !
cs_satsuki
Messages postés10Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention 1 décembre 2011 3 mars 2004 à 16:03
j'ai dus mal m'exprimer (desolé)
la fonction analyse appellée apres
labelanalyse.Caption = "Analyse en cours"
Frame13.Visible = False
Frame20.Visible = False
Frame14.Visible = False
Frame1.Visible = False
frame21.Visible = True
et pourtant les changements dans les frames n'interviennent que une fois que la fonction analyse a terminé son travail (la fonction analyse est lente car elle fait beaucoup d'opérations mais elle n'est en aucun cas une boucle infinit car elle se termine toujours de façon normale en me donnant les bon resultats)
=> pour resumer voila ce qui se passe
1)je clique sur analyse
2)ça analyse
3)ça me sort les resultats (la sortie des resultat est à la fin de la fonction analyse)
4)les changement interviennent dans les frames
=> voila ce que j'aimerai
1)je clique sur analyse
2)les changement interviennent dans les frames
3)ça analyse
4)ça me sort les resultats (la sortie des resultat est à la fin de la fonction analyse)
voila j'espère avoir été plus clair, merci néanmoins d'avoir essayer de m'aider ^^