Extension C module

Victor Markwart markwart at pcug.org.au
Mon Mar 6 02:14:05 EST 2000


Hi Jay,
Thanks for looking at the problem.

Tried those settings, but then my Python15.lib (previously converted via
COFF2OMF) wasn't accepted by the linker. iterated through the different
options of COFF2OMF, no joy. Removed _MSC_VER=900 and compilation was
successful, but the problem didn't go away 8-(

I'll plug on with it..
Cheers
Victor

jslove at my-deja.com wrote:
> 
> I got it to work!
> 
> Looks like a cryptic combination of compiler directives did it.
> 
> So, I'm using an import library created by COFF2OMF, and the following
> compiler directives are used. (I don't know about builder 4, but in
> Builder 3, in the project options dialog box, on the directives tab,
> their is a text box where you just paste these.)
> 
> BI_NAMESPACE;_NO_VCL;INC_OLE2;_OCFDLL;_RTLDLL;_BIDSDLL;_AFXDLL;_X86_;_WI
> NDOWS;_MSC_VER=900;_AFX_PORTABLE;_AFX_NOFORCE_LIBS;_CRT_PORTABLE;_AFX_NO
> _DEBUG_CRT;_OCFPCH
> 
> I don't know which one does the trick.  If you need me to isolate it,
> I'll give it a try.
> 
> Let me know if this works for you.
> 
> Jay Love
> 
> In article <89vbcb$10i$1 at nnrp1.deja.com>,
>   vmarkwart at my-deja.com wrote:
> > Hi,
> > A couple of strange things. The extension module I'm (attempting) to
> > write (Borland's C++ Builder 4) has a couple of little flaws.
> >
> > When I include
> >   Py_INCREF(Py_None);
> >   return Py_None;
> > in a procedure which returns no value, it compiles correctly but
> > returns a memory exception error when imported and run, and crashes
> > Python (not a happy sight). When I leave those lines out and return an
> > empty string the function can be called happily from Python, but
> > returns an unloved, unwanted empty string. Any ideas on what I'm doing
> > wrong.?
> >
> > Also, I have another function which returns a dictionary of values, eg
> > >>> import pytools
> > >>> pytools.volumeInfo("f:\\")
> > {'filenameUnicode': 'supported', 'filenameMaxLength': '255',
> > 'volumeName': 'SYS', 'filenameCase': 'preserved', 'volumeCompression':
> > 'compressed', 'filenameCompression': 'supported',
> 'volumeSerialNumber':
> > '1628725518', 'filesystemName': 'NWFS', 'filenameCaseSensitivity':
> > 'caseSensitive', 'filesystemACLs': 'supported'}
> >
> > In interactive mode everything looks fine, but when run in a script it
> > comes back with the error:
> > Traceback (innermost last):
> >   File "<stdin>", line 1, in ?
> >   File "pytoolstest.py", line 32, in ?
> >     vinfo = pytools.volumeInfo(drive)
> > TypeError: argument 1: expected string without null bytes, string
> found
> >
> > Any clues as to where to start looking? I've commented out virtually
> > everything in the function, and I still get the error.
> >
> > If anyone wants the sourcecode, please email me at
> > vmarkwart at hotmail.com
> > Cheers
> > Victor
> >
> > Sent via Deja.com http://www.deja.com/
> > Before you buy.
> >
> 
> Sent via Deja.com http://www.deja.com/
> Before you buy.



More information about the Python-list mailing list