"[EMAIL PROTECTED]" wrote: > Calling a python method from C++ has the following signature: > > PyObject * > PyObject_CallMethod(PyObject *self, char *method_name, > char *arg_format, ...); > > I'm having trouble figuring out how to declare self.
Reading the C API documentation might provide the clues you're looking for: PyObject* PyObject_CallMethod(PyObject *o, char *method, char *format, ...) Return value: New reference. Call the method named method of object o with a variable number of C arguments. /.../ This is the equivalent of the Python expression "o.method(args)". What is the object? What method are you calling? What arguments are you passing in? > Let's say my python file is called stuff.py and is like the following, > doMath() is defined in stuff.py and is not part of any class: > > #stuff.py > > def doMath(): > val = val + 1 That's a function, not an object method. > In C++, I think my codes should be like the following: > > PyObject *resultObj = PyObject_CallMethod( self, "doMath", ""); > > What do I put for self? Any help please? CallMethod is used to call a method on a given object. To call a callable object (such as a function), other callable object, use PyObject_Call (or CallObject or CallFunction). See the C API documentation for details. </F> -- http://mail.python.org/mailman/listinfo/python-list