|
I’ve created two PythonEngine instances and set the
Stdout for each instance to its own custom stream class (PythonStream) to
capture the output. This stream class takes a delegate to specify the function
to receive the response. class Tester { public void
Test() {
PythonEngine pythonEngine1 = new PythonEngine();
pythonEngine1.SetStdout(new PythonStream(ResponsePythonEngine1));
Console.WriteLine("pythonEngine1.Execute(\"'p1'\") ->
");
pythonEngine1.Execute("'p1'");
Console.WriteLine("");
PythonEngine pythonEngine2 = new PythonEngine(); pythonEngine2.SetStdout(new
PythonStream(ResponsePythonEngine2));
Console.WriteLine("pythonEngine2.Execute(\"'p2'\") ->
");
pythonEngine2.Execute("'p2'");
Console.WriteLine("");
Console.WriteLine("pythonEngine1.Execute(\"'p1'\") ->
");
pythonEngine1.Execute("'p1'");
Console.WriteLine("");
Console.ReadLine(); } void
ResponsePythonEngine1(string text) {
if (!string.IsNullOrEmpty(text.Trim()))
{
Console.WriteLine(" ResponsePythonEngine1 -> " + text);
} } void
ResponsePythonEngine2(string text) {
if (!string.IsNullOrEmpty(text.Trim()))
{
Console.WriteLine(" ResponsePythonEngine2 -> " + text);
} } } After pythonEngine2 is created I receive the responses from
commands executed on pythonEngine1 on the output of pythonEngine2. pythonEngine1.Execute("'p1'") -> ResponsePythonEngine1 -> 'p1' pythonEngine2.Execute("'p2'") -> ResponsePythonEngine2 -> 'p2' pythonEngine1.Execute("'p1'") -> ResponsePythonEngine2 -> 'p1' You can find my test application here: http://users.telenet.be/kristof.wagemans/PythonEngineConnected.zip |
_______________________________________________ users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
