Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problem de fork sous windows

3 réponses
Avatar
atys2
Bonjour a tous,
je developpe actuellement une interface graphique
pour gerer des entrees sorties de donnees.
Dans le code je lance des applications externes
par Win32::Process::Create...

Si je souhaite attendre la fin du process,
$Process->Wait(INFINITE) pour calculer le temps
de travail du process mais
cela me "gele" l'affichage et l'utilisateur ne peut
pas lancer d'autres process a l'aide de la fenetre Tk.

Existe t-il une solution pour remedier a cela ?

merci de vos reponses

3 réponses

Avatar
Scetbon Cyril
normal, ton appel est bloquant.
Il faut te débrouiller pour pouvoir rafraîchir la fenêtre pendant l'attente.
Tu peux faire:
$mw->update() while(!$Process->Wait(200));

Christophe BRUYERE wrote:
Bonjour a tous,
je developpe actuellement une interface graphique
pour gerer des entrees sorties de donnees.
Dans le code je lance des applications externes
par Win32::Process::Create...

Si je souhaite attendre la fin du process,
$Process->Wait(INFINITE) pour calculer le temps
de travail du process mais
cela me "gele" l'affichage et l'utilisateur ne peut
pas lancer d'autres process a l'aide de la fenetre Tk.

Existe t-il une solution pour remedier a cela ?

merci de vos reponses


Avatar
Jedaï
Scetbon Cyril wrote:

normal, ton appel est bloquant.
Il faut te débrouiller pour pouvoir rafraîchir la fenêtre pendant
l'attente.
Tu peux faire:
$mw->update() while(!$Process->Wait(200));

Christophe BRUYERE wrote:

Bonjour a tous,
je developpe actuellement une interface graphique
pour gerer des entrees sorties de donnees.
Dans le code je lance des applications externes
par Win32::Process::Create...

Si je souhaite attendre la fin du process,
$Process->Wait(INFINITE) pour calculer le temps
de travail du process mais
cela me "gele" l'affichage et l'utilisateur ne peut
pas lancer d'autres process a l'aide de la fenetre Tk.

Existe t-il une solution pour remedier a cela ?

merci de vos reponses



Tu as essayé de lancer la fonction à partir d'un thread ?
--
Jedai


Avatar
atys2
Bonjour a tous,
je developpe actuellement une interface graphique
pour gerer des entrees sorties de donnees.
Dans le code je lance des applications externes
par Win32::Process::Create...

Si je souhaite attendre la fin du process,
$Process->Wait(INFINITE) pour calculer le temps
de travail du process mais
cela me "gele" l'affichage et l'utilisateur ne peut
pas lancer d'autres process a l'aide de la fenetre Tk.

Existe t-il une solution pour remedier a cela ?

merci de vos reponses



Tu as essayé de lancer la fonction à partir d'un thread ?


Non mais la doc est vraiment pauvre la dessus, et je ne trouve rien
de politiquement correct sur le net :-(
quelqu'un aurait-il un exemple de thread sous windows, du genre
je lance un process fils, je continue le père et dès que le fils
a fini je lance une sub ?

Merci a tous pour votre collaboration.

Christophe BRUYERE