[EMAIL PROTECTED] wrote: > >hi all and before I start I apologise if I have this completely muddled >up but here goes. > >I'm trying to call functions from a dll file in a python script but I >can't work out what functions are available. I'm using ctypes. I've >tried using dir(ctypes_object) but the resultant output looks like a >list of standard functions and not the ones I'm looking for.
As far as I know, there is no way with ctypes to enumerate the functions exported by a DLL. If you have Visual C++, you can use link.exe to do this: link /dump /exports xxxxx.dll >Also how can I tell if the dll was written in C or C++ as I understand >C++ dlls can't be used. Well, DLLs that use C++ features cannot be used. If the exported names are "decorated", then they can't be used. >I have a header file that starts; > >#ifndef __DIRAC__ >#define __DIRAC__ > > // Prototypes > > const char *DiracVersion(void); > void *DiracCreate(long lambda, long quality, long numChannels, >float sampleRate, long (*readFromChannelsCallback)(float **data, long >numFrames, void *userData)); > void *DiracCreate(long lambda, long quality, long numChannels, >float sampleRate, long (*readFromChannelsCallback)(float *data, long >numFrames, void *userData)); That's called "function overloading": two functions with the same name but slightly different parameters. That is only available with C++, so I'm afraid you are out of luck. You may be able to use SWIG to generate an interface for this; I've had good luck with SWIG. -- - Tim Roberts, [EMAIL PROTECTED] Providenza & Boekelheide, Inc. -- http://mail.python.org/mailman/listinfo/python-list