[IronPython] Calling a Python function (compiled into an assembly) from C# using delegates.

Dody Gunawinata empirebuilder at gmail.com
Wed Jan 21 17:28:57 CET 2009


hmm..why would an IronPython assembly be different from a static language
assembly? Wouldn't that negates the main point of the CLR?

Dody G.

On Wed, Jan 21, 2009 at 6:20 PM, Michael Foord <fuzzyman at voidspace.org.uk>wrote:

> Dody Gunawinata wrote:
>
>> string cmd = @"from xxx import yy";
>>
>> eng.CreateScriptSourceFromString(cmd).Execute(--fill in default scope
>> here--)
>>
> It will need to be:
>
> eng.CreateScriptSourceFromString(cmd,
> SourceCodeKind.Statements).Execute(scope)
>
> But I'm pretty sure he will also need to use a different API for loading
> the assembly, assuming it is  from compiled IronPython code rather than just
> an ordinary .NET assembly.
>
> Michael
>
>
>> //then go one fetching the function
>>
>> On Wed, Jan 21, 2009 at 6:11 PM, Renaud Durand <neraun at gmail.com <mailto:
>> neraun at gmail.com>> wrote:
>>
>>    That is the point. I don't want to do that from a file but from an
>>    Assembly (dll).
>>
>>    2009/1/21 Dino Viehland <dinov at microsoft.com
>>    <mailto:dinov at microsoft.com>>
>>
>>        You need to do:
>>
>>
>>        eng.ExecuteFile('myfile.py', scope);
>>
>>
>>        *From:* users-bounces at lists.ironpython.com
>>        <mailto:users-bounces at lists.ironpython.com>
>>        [mailto:users-bounces at lists.ironpython.com
>>        <mailto:users-bounces at lists.ironpython.com>] *On Behalf Of
>>        *Renaud Durand
>>        *Sent:* Wednesday, January 21, 2009 7:45 AM
>>        *To:* dody at nomadlife.org <mailto:dody at nomadlife.org>;
>>        Discussion of IronPython
>>        *Subject:* Re: [IronPython] Calling a Python function
>>        (compiled into an assembly) from C# using delegates.
>>
>>
>>        Ok, but how ?
>>
>>        2009/1/21 Dody Gunawinata <empirebuilder at gmail.com
>>        <mailto:empirebuilder at gmail.com>>
>>
>>        I think you have to import the function - loading the assembly
>>        alone is not enough.
>>
>>        On Wed, Jan 21, 2009 at 5:17 PM, Renaud Durand
>>        <renaud.durand.it <http://renaud.durand.it>@gmail.com
>>
>>        <http://gmail.com>> wrote:
>>
>>            Hi again,
>>
>>            I'm trying to call a python function from C#. I found out
>>            through a tutorial how to do it from
>>            a Python source file but I would like to do it from a
>>            compiled assembly. Some elements are missing.
>>            I think it is something like below but this does not work:
>>
>>                        eng = Python.CreateEngine()
>>                        Assembly interpreter =
>>            Assembly.Load("interpreter");
>>                        eng.runtime.LoadAssembly(interpreter);
>>                                          ScriptScope scope =
>> eng.CreateScope();
>>
>>                        //Get the interpretMapping function
>>                        Func<string, object> interpretMapping;
>>                        interpretMapping =
>>            scope.GetVariable<Func<string, object>>("interpretMapping");
>>                        ObjectOperations ops = eng.Operations;
>>
>>                        //Get the interpItem returned by function.
>>                        object item =
>>
>>  interpretMapping("649AC0165011B1E8F726AC54C911000000000000000000000000000000000000");
>>                        //Get the display Method
>>                        object method = ops.GetMember(item, "display");
>>                        ops.Call(method);
>>
>>            Thank you... Again :-)
>>
>>            --            Renaud Durand
>>            EPITA Student
>>
>>            _______________________________________________
>>            Users mailing list
>>            Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
>>            http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>>
>>
>>
>>        --        nomadlife.org <http://nomadlife.org>
>>
>>
>>        _______________________________________________
>>        Users mailing list
>>        Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
>>        http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>>
>>
>>
>>        --        Renaud Durand
>>
>>
>>        _______________________________________________
>>        Users mailing list
>>        Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
>>        http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>>
>>
>>
>>    --    Renaud Durand
>>
>>    _______________________________________________
>>    Users mailing list
>>    Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
>>    http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>>
>>
>>
>> --
>> nomadlife.org <http://nomadlife.org>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.ironpython.com
>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>>
>
>


-- 
nomadlife.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20090121/7d039ccd/attachment.html>


More information about the Ironpython-users mailing list