У меня проблема, когда выход из скрипта Perl Tkx
вызывает сбой интерпретатора командной строки Perl.Ошибка командной строки командной строки Perl при выходе
Пример:
use strict;
use warnings;
use Tkx;
my $mw = Tkx::widget->new('.');
my $button = $mw->new_ttk__button(-text => "Hello", -command => \&main);
Tkx::pack($button);
Tkx::MainLoop;
sub main {
print "TESTING\n";
exit 0;
}
Этот код генерирует следующий вывод:
нажав на «Привет» кнопка вызывает main()
подпрограмму, которая печатает «ТЕСТИРОВАНИЕ», а затем пытается выйти и сбой в командной строке:
Это происходит только с Tkx
скриптами и будет только сбой, если программа уже ввела MainLoop
перед вызовом exit
. Кто-нибудь знает, что здесь происходит?
Perl Информация о версии:
Как насчет добавления '$ mw-> g_destroy' перед' exit'? – choroba
Я предполагаю, что это работает, но все же почему это может быть сбой интерпретатора, если вы вручную не вручную уничтожаете окно? Предполагается, что Perl сможет очистить и уничтожить само окно. – tjwrona1992
Во время глобального уничтожения объекты могут быть уничтожены в любом порядке. – choroba