From c1cbee9a0676fb25d55d1a10f3d189ecbc429fe4 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sun, 19 Sep 2021 18:01:24 +0200 Subject: [PATCH] Tools: port example of embedding to Py3 --- .../Win32/FreeCAD_widget/FreeCAD_widget.cpp | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/Tools/embedded/Win32/FreeCAD_widget/FreeCAD_widget.cpp b/src/Tools/embedded/Win32/FreeCAD_widget/FreeCAD_widget.cpp index 054693b8e6..b65140bef0 100644 --- a/src/Tools/embedded/Win32/FreeCAD_widget/FreeCAD_widget.cpp +++ b/src/Tools/embedded/Win32/FreeCAD_widget/FreeCAD_widget.cpp @@ -236,11 +236,11 @@ std::string OnFileOpen(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) void OnLoadFreeCAD(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { if (!Py_IsInitialized()) { - Py_SetProgramName("CEmbed_FreeCADDlg"); + Py_SetProgramName(L"CEmbed_FreeCADDlg"); Py_Initialize(); static int argc = 1; - static char* app = "CEmbed_FreeCADDlg"; - static char *argv[2] = {app,0}; + static wchar_t* app = L"CEmbed_FreeCADDlg"; + static wchar_t *argv[2] = {app,0}; PySys_SetArgv(argc, argv); } @@ -268,12 +268,12 @@ void OnLoadFreeCAD(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) EnableMenuItem(hMenu, ID_FREECAD_EMBEDWINDOW, MF_ENABLED); } else { - PyObject *ptype, *pvalue, *ptrace; - PyErr_Fetch(&ptype, &pvalue, &ptrace); - PyObject* pystring = PyObject_Str(pvalue); - const char* error = PyString_AsString(pystring); - MessageBox(0, error, "Error", MB_OK); - Py_DECREF(pystring); + PyObject *ptype, *pvalue, *ptrace; + PyErr_Fetch(&ptype, &pvalue, &ptrace); + PyObject* pystring = PyObject_Str(pvalue); + const char* error = PyUnicode_AsUTF8(pystring); + MessageBox(0, error, "Error", MB_OK); + Py_DECREF(pystring); } Py_DECREF(dict); } @@ -291,12 +291,12 @@ void OnNewDocument(HWND hWnd) Py_DECREF(result); } else { - PyObject *ptype, *pvalue, *ptrace; - PyErr_Fetch(&ptype, &pvalue, &ptrace); - PyObject* pystring = PyObject_Str(pvalue); - const char* error = PyString_AsString(pystring); - MessageBox(hWnd, error, "Error", MB_OK); - Py_DECREF(pystring); + PyObject *ptype, *pvalue, *ptrace; + PyErr_Fetch(&ptype, &pvalue, &ptrace); + PyObject* pystring = PyObject_Str(pvalue); + const char* error = PyUnicode_AsUTF8(pystring); + MessageBox(hWnd, error, "Error", MB_OK); + Py_DECREF(pystring); } Py_DECREF(dict); } @@ -326,12 +326,12 @@ void OnEmbedWidget(HWND hWnd) EnableMenuItem(hMenu, ID_FREECAD_EMBEDWINDOW, MF_DISABLED); } else { - PyObject *ptype, *pvalue, *ptrace; - PyErr_Fetch(&ptype, &pvalue, &ptrace); - PyObject* pystring = PyObject_Str(pvalue); - const char* error = PyString_AsString(pystring); - MessageBox(hWnd, error, "Error", MB_OK); - Py_DECREF(pystring); + PyObject *ptype, *pvalue, *ptrace; + PyErr_Fetch(&ptype, &pvalue, &ptrace); + PyObject* pystring = PyObject_Str(pvalue); + const char* error = PyUnicode_AsUTF8(pystring); + MessageBox(hWnd, error, "Error", MB_OK); + Py_DECREF(pystring); } Py_DECREF(dict); }