Hallöchen! Thomas Heller <[EMAIL PROTECTED]> writes:
> Torsten Bronger wrote: > >> [...] However, is there a way to avoid this dummy "pp3" module >> and add the C++ functions directy to the main namespace in the >> Python script? > > Yes. You can import __builtin__, and add methods to it. This is > a snippet from the bdist_wininst code, which embeds Python: > > http://svn.python.org/view/python/trunk/PC/bdist_wininst/install.c?rev=38414&view=markup > > PyMethodDef meth[] = { > {"create_shortcut", CreateShortcut, METH_VARARGS, NULL}, > {"get_special_folder_path", GetSpecialFolderPath, METH_VARARGS, NULL}, > {"get_root_hkey", (PyCFunction)GetRootHKey, METH_NOARGS, NULL}, > {"file_created", FileCreated, METH_VARARGS, NULL}, > {"directory_created", DirectoryCreated, METH_VARARGS, NULL}, > {"message_box", PyMessageBox, METH_VARARGS, NULL}, > }; > > > ... > mod = PyImport_ImportModule("__builtin__"); > if (mod) { > int i; > for (i = 0; i < DIM(meth); ++i) { > PyObject_SetAttrString(mod, meth[i].ml_name, > PyCFunction_New(&meth[i], NULL)); > } > } > ... Thank you, it works well. Just one more question: Why isn't "mod" Py_DECREFed again? Tschö, Torsten. -- Torsten Bronger, aquisgrana, europa vetus ICQ 264-296-646 -- http://mail.python.org/mailman/listinfo/python-list