Daniello Alto - 2016-01-17

The crash is no thing EPD can do much about, except may set some exception handler so something like a nullpointer wont crash the whole program.
It a bug in Decompyle++ !

    pycdc.exe!PycRef<PycString>::PycRef<PycString>(const PycRef<PycString> & obj)
    pycdc.exe!PycCode::code()
    pycdc.exe!BuildFromCode(PycRef<PycCode> code, PycModule * mod)
    pycdc.exe!decompyle(PycRef<PycCode> code, PycModule * mod)
    pycdc.exe!main(int argc, char * * argv)
    pycdc.exe!invoke_main()

But whatI see now
All I see EPD doing is calling
engine2.engine2Decompile("q:\1\xml.etree.pyc")

So what about turning engine2.dll (and as well engine1.dll) into an Consol app exe?
Makes it more clear and versity.

Well to get a console app output into EDP
CreatePipe put it's handle into STARTUPINFO for CreateProcess
Then use PeekNamedPipe to get it's console output + check GetExitCodeProcess how process was finished.

And about naming even if it does nothing about functionally something as enginePycdc is much more clear and speaking thanengine2