Hi, My following code is failing with an error of "isSizeSmall not function or callable"
//--------------------------------------------------- char szExpr[2048]; memset(szExpr,'\0',sizeof(szExpr)); sprintf(szExpr,"def isSizeSmall(size,vol,ADV,prod):\n if ( (size < 1000) & (vol < (0.001 * ADV)) & (prod==\"Stock\")): return 100\n else: return 11\n\n\n"); PyObject* pyco = Py_CompileString(szExpr,"<stdin>", Py_file_input); // Get a pointer to this function char funcname[56]; memset(funcname,'\0',sizeof(funcname)); sprintf(funcname,"isSizeSmall"); PyObject* func = PyObject_GetAttrString(pyco,funcname); if(!func || !PyCallable_Check(func)) printf("%s not function or callable\n"); //--------------------------------------------------- In above case, Py_CompileString parses & compiles the code successfully. Can we not use the "PyObject*" returned by Py_CompileString as input to PyObject_GetAttrString? What could be wrong? I want to use this function pointer returned by PyObject_GetAttrString as input to PyObject_CallObject. Can I use the "PyObject*" returned by Py_CompileString directly as is in call to PyObject_CallObject? Please help. Thanks and Regards, Ganesh ============================================================================== Please access the attached hyperlink for an important electronic communications disclaimer: http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html ============================================================================== -- http://mail.python.org/mailman/listinfo/python-list