Hi,
I would like to run a python application have it call a C# application and have the two applications be able to call functions in the other application. I have gotten the python to open and run the C# application and I am able to run any function from the C# app in python. What I am having trouble with is calling python functions from the C# when the C# app was started by a python call. When I run the C# alone I can call the python functions. Part of my problem I think is that the C# app doesn't know where to fine the python modules. Where do they need to be if I want to use the PythonEngine.ImportModule? In python my codes looks like this import clr import pythoncom clr.AddReference("ScriptEditor") from ScriptEditor import ScriptEditor self.app = ScriptEditor() clr.AddReference("System.Windows.Forms") from System.Windows.Forms import Application Application.Run(self.app) ScriptEditor is my C# app. I can call most of the C# functions from python with the above code. The C# functions I cannot call are ones that use python for example //---------------------------------------------------------------------- --------------------------- public void usingPython() //---------------------------------------------------------------------- --------------------------- { PythonEngine.Initialize(); IntPtr pyLock = PythonEngine.AcquireLock(); PyObject pyObj = PythonEngine.ImportModule("hello"); pyObj.InvokeMethod("helloCallback", new PyTuple()); PythonEngine.ReleaseLock(pyLock); PythonEngine.Shutdown(); } That doesn't work. It works when I call the function in C#. Hello.py looks like this: def hello(): return 'hello' def helloCallback(): print "This is a Test and Of The python.net" Thanks Matt
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org http://mail.python.org/mailman/listinfo/pythondotnet