On 19/11/2009 5:13 AM, Hung Nguyen wrote:
Thank you Mark. I will look at the .h file for more details as you suggested.
However if you can elaborate a little bit more at a high level as how to pass a
COM objects between host application and scripts, that would be of great help.
Also, I am wondering if there's sample code doing stuff like that?
To pass one into Python you would do something like:
PyObject *ob = PyCom_PyObjectFromIUnknown(pYourOb, IID_YOUR_OB, TRUE);
PyObject *args = Py_BuildValue("iN", some_int, ob);
// make the call with args.
Note that if you are trying to use IDispatch, the object passed to the
script will be a PyIDispatch - the script probably wants to wrap that
using win32com.client.Dispatch to make it simple to use.
And to get it back, something like:
PyObject *ob;
if (!PyArg_ParseTuple(args, "O", &ob))
return NULL;
IYourInterface *pYourOb;
if (!PyCom_InterfaceFromPyInstanceOrObject(ob, IID_YOUR_OB, (void
**)&pYourOb))
return NULL;
// pYourOb is ready to go with a *new* COM reference.
HTH,
Mark
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32