New submission from zhaoya <zhaoya881...@163.com>: i have question:call,c-->python-->c. 1.the c pointer void* abc="123" by pycapsule in the c code. ...... void* lpContext = "abc"; PyObject * lpPyContext = PyCapsule_New(lpContext, "Context",NULL); ...... PyTuple_SetItem(pArgs, 1, lpPyContext); PyObject* pyResult = PyObject_CallObject(pFunc, pArgs);
2.c call python: in the python code: import ctypes pycapsule = ctypes.windll.LoadLibrary("C:\Users\zhaoya16975\Documents\Visual Studio 2017\Projects\cpython\Release\pycapsule.dll") def test( lpContext,lpRequest,lpAnswer): print lpContext pycapsule.hello() pycapsule.GetContext(lpContext) ......... the lpContest is "<capsule object "Context" at 0x02747e00>" but,i can't lpContext in the pycapsule.GetContest: the capsule is null poniter,the GetContext no execute!! void* FUNCTION_CALL_MODE GetContext(PyObject *capsule) { printf(" GetContext......\n"); //if (!PyCapsule_IsValid((PyObject *)capsule, "Context")) { // printf(" the Capsule Context is no Valid\n"); // return NULL; //} //return PyCapsule_GetPointer((PyObject *)capsule, "Context"); return NULL; } i hope c call python pass void* ,and python call c pass void* ,but the capsule call no success. ---------- components: Windows messages: 312399 nosy: paul.moore, steve.dower, tim.golden, zach.ware, zhaoya priority: normal severity: normal status: open title: pycapsule:PyObject * is NULL pointer type: crash versions: Python 2.7 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue32881> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com