Did you add a reference to the dll before importing it - like this:
import clr
clr.AddReference("myclib.dll")
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Anders Elfgren
Sent: Thursday, July 31, 2008 9:22 AM
To: [email protected]
Subject: [IronPython] Using a c library as a dll or assembly
Hi,
First let me say that I'm new to Iron Python, but at least I've read this in
the FAQ.. :)
Q: How do I build and call into PYD libraries?
A: IronPython does not support using PYDs built for CPython since they leverage
implementation details of CPython. You can get a similar effect for new "PYD"s
you would like to implement by writing them in C# or VB and building a DLL for
.NET.
That said, I've got some questions to see if what I'm doing is possible anyway.
We've got a c library of which most of the code has also been written in
Python. We want to create an editor using .net forms which we can use to edit
some files, and to do that we need some data structures that exist in this
library.
My current idea is to interface against the python library using IronPython,
and then accessing the datastructures through that in C# (although if
absolutely necessary, we could write the editor in IronPython too). The thing
that is standing against me now is that one function that exists a small C dll.
Since IronPython can't access this (unless this has changed since the FAQ was
written?), I was thinking that maybe I can compile the dll using the /clr flag
and thus get a .net assembly. Would I then be able to use the function?
The Python code just tries to import it:
import AvHash
And then use it..
def AdfHash(str):
return AvHash.HashString(str)
At the import statement, this error is raised:
Traceback (most recent call last):
File X:\ctg\libs\ADF\main\common\modeditor.ipy, line 20, in Initialize
File , line 0, in __import__##4
File X:\ctg\libs\ADF\main\common\AdfLib.py, line 1, in Initialize
File , line 0, in __import__##4
ImportError: No module named AvHash
Or is there some other solution? I've just started researching how to interface
between C/C#/Python/IronPython so there may well be things I haven't heard of...
I hope I've made my problem clear, thanks for any responses. :)
/Anders
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com