Hi Dino, If have tweaked your code to reproduce the exception that I am facing. Let me know if you need more details.
thanks, Mustaq using System; using Microsoft.Scripting; using IronPython.Hosting; using Microsoft.Scripting.Hosting; class Foo { public static void Main(string[] args) { AppDomain ad = AppDomain.CreateDomain("foo"); var engine = Python.CreateEngine(ad); engine.Runtime.LoadAssembly(typeof(MbrBase).Assembly); var code = engine.CreateScriptSourceFromString(@" import MbrBase class C(MbrBase): pass a = C() ", SourceCodeKind.Statements); var scope = engine.CreateScope(); code.Execute(scope); Console.WriteLine("Trying to do it... {0}", AppDomain.CurrentDomain.Id); MbrBase mbr = (MbrBase)scope.GetVariable("a"); // MY CHANGES string isSubClassCode = String.Format("issubclass({0},{1})", "C", "MbrBase"); ScriptSource script = engine.CreateScriptSourceFromString(isSubClassCode, SourceCodeKind.Expression); bool result = (bool)script.Execute(scope); if (result == true) { ObjectOperations ops = engine.Operations; object subClass = scope.GetVariable("C"); object instance = ops.Call(subClass); mbr = instance as MbrBase; } // END OF MY CHANGE mbr.DoItVirtually(); mbr.DoIt(); Console.ReadKey(); } } public class MbrBase : MarshalByRefObject { public virtual void DoItVirtually() { Console.WriteLine("Did it virtually {0}", AppDomain.CurrentDomain.Id ); } public void DoIt() { Console.WriteLine("Did it {0}", AppDomain.CurrentDomain.Id); } }
_______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com