Tyrell2
Messages postés251Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention 2 novembre 2010
-
10 janv. 2008 à 18:04
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024
-
11 janv. 2008 à 14:25
Bonsoir,
j'ai une form avec un bouton qui lance un process (avant je passais par un shell mais c'est mieux pour avoir l'option "waitforexit")
dans ma form j'ai des labels dont je voudrais commencer par changer le contenu avant de lancer le nouveau process (toujours en cliquant sur le meme bouton donc)
mon probleme : j'ai je ne sais pas quoi dans mon code qui sempble me bouffer toutes les ressources et qui empeche le changement des labels
y a t-il une option que je devrais connaitre avec l'utilisation des process ?
voici ce que fait mon bouton :
'je commence par vérifier si la copie des sources a aboutie
If
My.Computer.FileSystem.FileExists(
"C:\xxx") =
True
Then
PictureBox1.Show()
Me.Label2.Text =
"xxx"
Me.Label3.Text =
Nothing
Dim proc
As System.Diagnostics.Process =
New System.Diagnostics.Process()
proc.EnableRaisingEvents =
True
proc.StartInfo.UseShellExecute =
True
proc.StartInfo.FileName =
"C:\xxx.exe"
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
proc.Start()
proc.WaitForExit()
Tyrell2
Messages postés251Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention 2 novembre 2010 10 janv. 2008 à 21:19
ok merci je vais essayer cela...
mais ce qui me surprend quand meme c'est que dès que je commente le code qui traite le process tout se passe bien.
meme si je met une pause de quelques secondes entre mes modifications de label et le debut du nouveau process,
l'affichage pédale dans la semoule (rien ne change quoi), et le process se declenche "normalement"
je suis
C'est normal, vu qu'il attend la fermeture du process (WaitForExit), donc, le code est figé et donc, plus rien ne va s'actualiser tant qu'il ne sera pas fermé.
Autrement, tu peux faire un boucle qui boucle tant que proc.HasExited est à False. Et dans cette boucle, tu place un DoEvents pour laisser la main à l'affichage.
__________
Kenji
Vous n’avez pas trouvé la réponse que vous recherchez ?
Tyrell2
Messages postés251Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention 2 novembre 2010 10 janv. 2008 à 21:29
je sais bien que je suis tres debutant, mais je ne comprend pas pourquoi "C'est normal, vu qu'il attend la fermeture du process (WaitForExit), donc, le code est figé et donc, plus rien ne va s'actualiser tant qu'il ne sera pas fermé"
je pensais (betement peut-etre) que les lignes s'executaient" en se suivant et donc comme je declare mon process apres les modifs de labels...