Accessing dll
I am a complete novice to Python. I wish to access a dll that has been written to be compatible with C and VB6. I have been told that after running Python I should enter "from ctypes import *" which allows Python to recognize the dll structure. I have placed the dll into my active directory (if that's the correct word, one on my path) for simplification. I tried: "import name.dll" but this just gave me an error telling me that there was no such module. Can someone please help? Richard -- http://mail.python.org/mailman/listinfo/python-list
Re: Accessing dll
FYI My Python version is 2.5.4 -- http://mail.python.org/mailman/listinfo/python-list
Re: Accessing dll
On Sep 6, 8:30 am, Jerry Hill wrote: > You should start by reading the ctypes documentation, > here:http://docs.python.org/library/ctypes.html. It has a lot of examples > that ought to get you started. > > When you run into more specific problems, you're going to have to > provide a lot more information before we can help you, including the > specific documentation of the DLL you're trying to wrap, your > platform, and python version. If you are not permitted to share those > things, we may not be able to give you much help. Ctypes is very > specific to the actual library you are accessing, and requires that > you understand the requirements of the underlying DLL. > > -- > Jerry Thanks Jerry, I'll read the reference you posted. Unfortunately I know almost nothing about the dll and Python is loaded in some strange framework. I'll post back after a thorough read about Ctypes. -- http://mail.python.org/mailman/listinfo/python-list
Re: Accessing dll
On Sep 6, 8:28 am, Ulrich Eckhardt wrote: > Am 06.09.2012 17:07, schrieb Helpful person: > > > I am a complete novice to Python. > > Welcome! > > > I wish to access a dll that has > > been written to be compatible with C and VB6. I have been told that > > after running Python I should enter "from ctypes import *" which > > allows Python to recognize the dll structure. I have placed the dll > > into my active directory (if that's the correct word, one on my path) > > for simplification. > > Using ctypes, you can indeed load DLLs. Take a look athttp://docs.python.org, > which includes the documentation for the ctypes > module but also general documentation and tutorials, which should be a > starting point for you. > > > I tried: "import name.dll" but this just gave me an error telling me > > that there was no such module. > > Like in VB or C, things are not that easy. You will always have to write > some code that informs Python about the names and parameters of the > functions in that DLL. > > Good luck! > > Uli Thanks. I've been working my way through that page, so far without any luck. I'm still trying. It seems strange that there is no documented way to simply access the dll, even incorrectly! If I could get Python to recognize the dll as a module I would at least have a place to start debugging. -- http://mail.python.org/mailman/listinfo/python-list
Re: Accessing dll
On Sep 6, 8:30 am, Jerry Hill wrote: > > You should start by reading the ctypes documentation, > here:http://docs.python.org/library/ctypes.html. It has a lot of examples > that ought to get you started. > The reference might help if I could get Python to recognize the dll as a module. -- http://mail.python.org/mailman/listinfo/python-list
Re: Accessing dll
On Sep 6, 9:58 am, Jerry Hill wrote: What do you get if you do the following at the > interactive interpreter? > > >>> from ctypes import * > >>> print windll. > > -- > Jerry I get: , handle 41 at 2ace070> -- http://mail.python.org/mailman/listinfo/python-list
Re: Accessing dll
On Sep 7, 5:16 am, Chris Angelico wrote: > On Fri, Sep 7, 2012 at 1:44 AM, Helpful person wrote: > > FYI > > > My Python version is 2.5.4 > > You may wish to upgrade, that's quite an old version. Unless > something's binding you to version 2.x, I would strongly recommend > migrating to 3.2 or 3.3. > > ChrisA Upgrading is not possible due to the large number of programs using the early version. -- http://mail.python.org/mailman/listinfo/python-list