В моем приложении 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, как показано ниже.
![enter image description here](https://i.stack.imgur.com/YRbaN.png)
Мне нужно также напечатать имя DLL.Также, пожалуйста, посоветуйте мне, как решить эту ошибку.Заранее спасибо.