Hi Amod -
 
Is the main issue the fact that you have to use Python 2.3? If so, you could
use the beta 3 release (which was based on 2.3), or see the README.txt
for instructions on building the b4 release for Python 2.3.
 
In any case, you should be able to just copy Python.Runtime.dll and CLR.dll
from the PythonNet directory to the root directory of your python installation
(presuming they were built against 2.3), and then 'import CLR' from your
exising Python...
 

Brian Lloyd        brian@zope.com
V.P. Engineering   540.361.1716             
Zope Corporation   http://www.zope.com

-----Original Message-----
From: pythondotnet-bounces@python.org [mailto:pythondotnet-bounces@python.org]On Behalf Of Amod Kulkarni
Sent: Monday, January 03, 2005 2:38 AM
To: pythondotnet@python.org
Subject: [Python.NET] Calling C# from Python 2.3

Hi,

 

I know PythonNet has been specially designed to handle .NET/CLR compatibility but because of some other restrictions I want to use Python 2.3 to access a C# function.

First of all is it possible? I am trying with following piece of code in C# (Server app) and python (client app).

 

 

 

This is a class library in C# which is compiled and registered with following commands.

csc /target:library Class1.cs

regasm Try2005.dll /tlb:Try2005.tlb

 

 

using System;

using System.Runtime.InteropServices;

 

namespace Try2005

{

      public class TestingCSBC

      {

            [Guid("1EB394AB-2D4A-4a52-9F22-E8ACAED4800F")]

                  public interface IManagedInterface

            {

                  int PrintHi(string name);

            }

 

            [Guid("2FD76301-489A-4dc3-BF6B-5DF6FCE96CB8")]

                  public class InterfaceImplementation : IManagedInterface

            {

                  public int PrintHi(string name)

                  {

                        Console.WriteLine("Hello, {0}!", name);

                        //TestCSBCClass obj = new TESTDLLCOMLib.TestCSBCClass();

                        //obj.Displaymessage("In C# application!!");

                        return 33;

                  }

            }

      }

}

 

 

Python code:

 

import win32com.client

try:

    serverObj = win32com.client.Dispatch("Try2005.TestingCSBC")

except Exception,e:

    print "Dispatch error",e

try:

    serverObj.PrintHi("But will it work on Tribon??")

except Exception,e:

    print "Error while Calling C# function",e

 

 

After running the above Py script I am getting following error output.

 

Dispatch error (-2147024894, 'The system cannot find the file specified.', None, None)

Error while Calling C# function name 'serverObj' is not defined

 

 

Any pointers would be greatly appreciated.

 

Thanks in advance.