1 | |||||||
Auteur | Messages | ||||||
---|---|---|---|---|---|---|---|
jibi | #1 Posté le 1/9/2011 à 09:03:17 | ||||||
codergambas.jimdofree.com | Bonjour à tous j'ai une interrogation au sujet du déroulement du code je m'explique :
Dans ce bout de pseudo code, instruction3 est exécuté avant que hClass.procedure() ne soit fini d'être exécuté Si je veux que instruction3 soit éxécuté après le retour de hClass, il faut que je remplace hClass par quoi? Est ce que avec instruction2 se sera pareil que avec instruction3 Debian GNU/Linux 11 64-bit | ||||||
Prokopy | #2 Posté le 1/9/2011 à 17:33:03 | ||||||
Kinder Pingui | En principe le code se déroule de façon linéaire, c'et-à-dire que instruction3 attend que hclass.procedure() soit terminé. Qu'est-ce qui te permet de dire que hclass.procedure() est terminé ou non ? Est-ce que hclass est une Form ou un contrôle ? La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi. | ||||||
jibi | #3 Posté le 1/9/2011 à 17:52:52 | ||||||
codergambas.jimdofree.com | Bonsoir Prokopy dans hClass j'ai un process pour lequel je sais qu'il est fini quand l'évènement process_kill est levé A ce momment là je sais que hClass est terminée pourtant hClass n'est pas terminée et instruction3 est lancée ???? Debian GNU/Linux 11 64-bit | ||||||
Prokopy | #4 Posté le 1/9/2011 à 18:07:35 | ||||||
Kinder Pingui | Si tu n'utilises pas la syntaxe EXEC "programme" WAIT ou EXEC "programme" To variable , alors l'instruction Exec n'attend pas que le programme soit terminé pour continuer, le programme est lancé en parallèle. Ainsi, ton programme continue tranquillement tandis que le programme s'exécute. C'est à cela que servent les évènements _Read() et _Kill(), pour que tu puisses intercepter ce que fait ton programme et quand il a terminé, et ce à tout moment. La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi. | ||||||
jibi | #5 Posté le 1/9/2011 à 18:33:38 | ||||||
codergambas.jimdofree.com | oui effectivement c'est ce que je me suis aperçu mais si je met wait, je ne peux afficher le déroulement du log retour par exemple dans une texteaera au fur et a mesure de sa sortie! donc j'ai mis la suite des instructions dans process_kill merci prokopy Debian GNU/Linux 11 64-bit | ||||||
manu | #6 Posté le 3/9/2011 à 15:12:28 | ||||||
Avec Gambas ca roule ! | si je met wait, je ne peux afficher le déroulement du log retour par exemple dans une texteaera au fur et a mesure de sa sortie! Bonjour, Si si tu peux... dans ta fonction :
Puis tu lit ton processus avec l'évènement Read
Puis Kill te permet de dire ce qu'il faut faire a la fin du processus
Voila Jeanne d'arc, elle a frit, elle a tout compris ! Config : Manjaro linux (excellent !) XFCE 4.1 (simple et efficace) Gambas 3 dans les dépots (confort total) | ||||||
jibi | #7 Posté le 4/9/2011 à 14:34:12 | ||||||
codergambas.jimdofree.com | Bonjour et bon Dimanche Salut MAnu Manu dans ton exemple je suppose que traitement_1 <> traitement_2 une fois traitement_1 fini il s'affichera dans la textaera ensuite une fois traitement_2 fini il s'affichera dans la texteaera mais ni traitement_1, ni traitement_2 ne s'afficheront dans la textaera au fur et à mesure de leur lecture par Process => si tu as un process qui dure 30 mn, pendant 30 mn la texteaera sera vide par contre si tu ne mets pas WAIT traitement_1 et 2 s'afficheront au fur et à mesure dans la textaera, mais dans ce cas il ne faut pas mettre traitement_2 dessous le 1 sinon le 2 se lancera juste apres et se melangeront dans la texteaera enfin, moi c'est ce que j'en vu après avoir essayé plusieurs façon de faire! mais je suis preneur d'autres solutions a plus jean-luc Debian GNU/Linux 11 64-bit | ||||||
manu | #8 Posté le 4/9/2011 à 15:31:56 | ||||||
Avec Gambas ca roule ! | Si il s'afficherons au fur et à mesure à condition que dans la fonction MonProcess_Read tu effectue une action apres chaque lecture du flux de sortie. Tu peux, par exemple, incrementer une barre de progression ou même une variable. J'ai effectivement constaté comme toi que cela ne s'affiche pas autrement . ? Le traitement 2 ne commencera que quand le traitement 1 sera totalement fini et tu pourra suivre les processus dans ta TextArea. Je ne comprends pas pourquoi ceci dit ;). J'ai posé la question sur la mailing list mais aucune suggestion ne fonctionne.. Jeanne d'arc, elle a frit, elle a tout compris ! Config : Manjaro linux (excellent !) XFCE 4.1 (simple et efficace) Gambas 3 dans les dépots (confort total) | ||||||
jibi | #9 Posté le 4/9/2011 à 15:55:59 | ||||||
codergambas.jimdofree.com | il s'afficherons au fur et à mesure à condition que dans la fonction MonProcess_Read tu effectue une action apres chaque lecture du flux de sortie voilà ce que j'ai en process:
Là, pour moi rien ne s'affiche au fur et à mesure si je met WAIT Si je veux que cela affiche il faut que je mette quoi, si je n'ai pas de barre de progresion? : j'incrémente, si on peut dire une variable mais de type string! mais pas d'affichage continu avec WAIT
Debian GNU/Linux 11 64-bit | ||||||
manu | #10 Posté le 4/9/2011 à 18:53:16 | ||||||
Avec Gambas ca roule ! | et la ?
Ca devrais marcher ! Jeanne d'arc, elle a frit, elle a tout compris ! Config : Manjaro linux (excellent !) XFCE 4.1 (simple et efficace) Gambas 3 dans les dépots (confort total) | ||||||
jibi | #11 Posté le 4/9/2011 à 19:46:06 | ||||||
codergambas.jimdofree.com | Ben euhhhh non ! c'est pas ben grave, je pase par process_Kill pour la suite mais je comprend pas que cela marche chez toi et pas sur mon code, pourtant simple j'ai testé avec une commande simple comme ls sur un gros dossier => des que je met wait pas d'affichage immédiat mais à la fin du processus Bonne soirée Debian GNU/Linux 11 64-bit | ||||||
manu | #12 Posté le 4/9/2011 à 20:43:59 | ||||||
Avec Gambas ca roule ! | Voila exactement ce que j'ai mis moi :
et ça marche ! Jeanne d'arc, elle a frit, elle a tout compris ! Config : Manjaro linux (excellent !) XFCE 4.1 (simple et efficace) Gambas 3 dans les dépots (confort total) | ||||||
jibi | #13 Posté le 5/9/2011 à 16:32:15 | ||||||
codergambas.jimdofree.com | Merci Manu OUI c'est OK, en fait c'est grâce à print aplus Debian GNU/Linux 11 64-bit | ||||||
1 |