I have developed Eto Forms dialogs in IronPython. Is it possible to call one of my Python dialog procedures from a C++ DLL to display a dialog? Currently I am trying to get by with a custom dialog created in the C++ code but it is very limited in capabilities. Previously I developed very complex custom dialogs in IronPython. I am working on using C# to develop an Eto Forms which can be called from C++ but it is very convoluted compared to using Eto Forms in IronPython. So I am asking if there is a way to call a IronPython procedure from my C++ DLL? I currently do the opposite, calling C++ procedures from Iron Python that works well. But trying to arrange the C++ code so that Python is always in control is quite challenging as the C++ code has created dozens of large lists by the time it needs help from the user using a dialog. It would require creating all these lists in Python before calling the C++ DLL but this is not possible until the data has been examined which would take over 100 seconds in Python. I think you get the idea.
I am astounded that Eto Forms is not possible in C++. C# no problem but its implementation seems clunky compared to what is possible in IronPython.
It’s much easier for Iron Python to be in charge, and call out to something in a .dll. Is the “calling from C++” requirement set in stone?
Eto Forms targets .Net, which C# is also pretty handy for.
C++ targets binaries, and Eto Forms was not designed with C++ in mind.
It may well be possible, but my guess is that defining an Iron Python/Eto Form ABI for a C++ dll to call, and getting that to integrate and compile and run correctly, is a lot more work than rebuilding your GUI with a good C++ GUI library.
Currently I am improving the look of my C++ custom dialog box defined in a .rc resource file by using rich edit controls. This is a fun, new journey with lots of possibilities.
I found mixing C# with C++ in order to access Eto Forms interesting from the standpoint of learning many more details about Visual Studio but not much help in easily creating a better dialog box. I would have to climb much higher on the Eto/C# learning curve to see if a better result is possible. Perhaps later . . .