在我的MFC应用程序中,我正在使用以下代码行导入python模块。
pyImportedModuleObj = PyImport_Import(pyNameFilenameObj);
即使路径是正确的,我也会得到NULL。这是因为python异常。我试图打印实际的python异常。
bool CheckPythonError() {
if (PyObject *perr = PyErr_Occurred()) {
PyObject *errobj, *errdata, *errtraceback, *pyerr, *pydata, *pytrc;
PyErr_Fetch(&errobj, &errdata, &errtraceback);
pyerr = NULL;
pydata = NULL;
CString save_error_type, save_error_data, save_traceback;
if (errobj != NULL &&
(pyerr = PyObject_Str(errobj)) != NULL && /* str(object) */
(PyString_Check(pyerr))) {
save_error_type = PyString_AsString(pyerr);
pydata = PyObject_Str(errdata);
PyString_Check(pydata);
save_error_data = PyString_AsString(pydata);
pytrc = PyObject_Str(errtraceback);
if (errtraceback) {
save_traceback = PyString_AsString(errtraceback);
}
else {
save_traceback = "No traceback available";
}
}
else {
save_error_type = "<unknown exception type>";
}
Py_XDECREF(pyerr);
Py_XDECREF(pydata);
//WI-29387 - Replaced MessageBox with g_MsgBoxMgr.ShowMessageBox
MessageBox(NULL, save_error_type + "\n" + save_error_data, "Error", MB_OK | MB_ICONINFORMATION);
return TRUE;
}
return FALSE;
}
我收到如下所示的python错误。
我还需要打印DLL名称。还请给我建议如何解决此错误。预先感谢。