Initializing PyObject_HEAD in place

Anton Graph "aglyport\" at n-o.s,p/a__m.yahoo.com>
Fri May 17 15:59:41 EDT 2002


I have a class derived from PyObject:

class MetaFld : public PyObject /* python header: ref. counter + 
&typeobject */ {
	friend class MCI<MetaFld>;
	MetaFld *next;
protected:
	long n_id; // for(fldnum=recnum-10000;;++fldnum) n_id = fldnum;
......


The initialization in constructor

MetaFld::MetaFld(MetaRec *owner, const char *name, const char *type,
		 const char *field_name_postfix)
	: PyObject(&metafldtype), .......

worked like that before (last time I compile this which was 3 years ago 
ot so). Not sure how, but it did. Well, today it did not. Maybe someone
upgraded Python to 1.4 in that time period.
So, my question is how would I inittialize PyObject struct (the base of 
my class) in the constructor or my class? I need something like 
_PyObject_New() as defined for core dll in windows, that is with 
allocated space passed as a second parameter.

I'm using Python 1.4 on SCO OpenServer and would rather not upgrade to 
latest and greatest (2.2.1?) unless there is a pressing need for that.

I've checked the tutorial and took a brief look at FAQ: this does not 
seem to be covered.

Thank you!




More information about the Python-list mailing list