PSSE падает, когда я закрываю приложение Tkinter

Я пишу приложение для изучения непредвиденных ситуаций в PSSE 33 с различными начальными условиями. Я сталкиваюсь с проблемой, связанной с процедурами API psspy.accc_with_dsp_3() и / или psspy.accc_single_run_report_4(), Моя программа прекрасно работала в PSSE 32 с подпрограммами psspy.accc() а также psspy.accc_single_run_report_3(), и он работает в версии 33, пока я не закрою его (то есть вызов root.destroy() на моем Tkinter окно), в этот момент отображается окно прогресса PSSE

Результаты анализа непредвиденных обстоятельств AC "PATH/file.acc" готовы к графическому отображению

и тогда PSSE вылетает. Если я подожду несколько минут после запуска моей программы или удаляю последний сгенерированный файл *.acc, при закрытии приложения PSSE больше не падает, что говорит о том, что проблема может быть связана с обработкой файла *.acc PSSE.,

Вот часть кода:

    psspy.dfax([0, 1],
               sub_file,
               mon_file,
               con_file,
               dfx_file)
    psspy.accc_with_dsp_3(accc_opt1,
                          accc_opt2,
                          "",
                          dfx_file,
                          acc_file,
                          "", "", "")
    psspy.lines_per_page_one_device(1, 10000)
    psspy.report_output(2, 
                        dat_file, 
                        [0, 0])
    psspy.accc_single_run_report_4(rpt_opt1,
                                   rpt_opt2,
                                   rpt_opt3,
                                   acc_file)

    psspy.close_report()
    psspy.close_powerflow()

Согласно поддержке PTI,

PSSE 33 построен с использованием компилятора Microsoft C/C++ (MSC) версии 10 (соответствует Microsoft Visual Studio 2010). Python 2.7 (отсюда модуль Tkinter) построен с помощью компилятора Microsoft C / C++ версии 9 (соответствует Microsoft Visual Studio 2008). Чтобы Python 2.7 работал изнутри графического интерфейса PSSE33, PTI перекомпилировал Python 2.7 и некоторые другие важные модули Python, используя Visual Studio 2010. Такие сбои были с wxPython, Tkinter. В случае приложений wxPython я видел, что когда вы запускаете wxPython как диалог вместо "mainloop app", вы можете избежать таких сбоев. Интересно, если вы напишите диалог Tkinter для вызова из PSSE, это поможет избежать такого сбоя. Лучшим решением было бы запустить PSSE и ваш скрипт, который использует Tkinter из любого интерпретатора Python, такого как IDLE (Пуск> Программы>Python 2.7 >IDLE). Это позволит избежать сбоев, которые вы видите.

Это не является удовлетворительным ответом, поскольку это означает, что пользовательские пользовательские инструменты в PSSE 33 менее функциональны, чем в предыдущих версиях. Кто-нибудь может предложить лучший обходной путь?

Я использую PSSE 33.7.0, Python 2.7.9 и Tkinter 8.5 на Windows 7.

0 ответов

Другие вопросы по тегам