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.