Je dois avoir une communication bidirectionnelle entre les threads dans Tcl et tout ce que je peux obtenir est un chemin avec des paramètres passant en tant que mon seul canal de communication maître-> helper. Voici ce que j'ai:TCL: Communication bidirectionnelle entre les threads dans Windows
proc ExecProgram { command } {
if { [catch {open "| $command" RDWR} fd ] } {
#
# Failed, return error indication
#
error "$fd"
}
}
Pour appeler le tclsh83, par exemple ExecProgram "tclsh83 testCases.tcl TestCase_01"
Dans le fichier testCases.tcl je peux utiliser ce passé dans l'information. Par exemple:
set myTestCase [lindex $argv 0]
Dans testCases.tcl je peux met hors du tuyau:
puts "$myTestCase"
flush stdout
Et recevez qui place dans le thread maître en utilisant l'ID de processus:
gets $app line
... dans une boucle.
Ce qui n'est pas très bon. Et pas à deux voies. Quelqu'un connaît une méthode de communication bidirectionnelle facile pour tcl dans Windows entre 2 threads?
Parfait! Cela fonctionne comme vous l'avez dit. – Fraser