Показать сообщение отдельно

  #15  
Старый 13.12.2007, 02:19
KSURi
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
С нами: 10489346

Репутация: 963


По умолчанию

Цитата:
Сообщение от genom--  
насчет threads + tk =) - а почему бы и нет - хоть тк и является unthreadable - типо не потокиируемый(если не ошибась)
Статус Тк не позволяет (при стандартной связке Tk+threads) внедрять многопоточность только по отношению к себе. Т.е. разработка "нормального" гуя, где элементы гуя контролируются одними потоками, а работа скрипта выполняется другими, в данном случае не возможна.

Я хотел было заморочиться по этому поводу, в мыслях было написать многопоточную обертку для Tk, но мои телодвижения в данном направлении окончились после этих строк:
Код:
#!perl

use strict;
use warnings;

use Tk;
use threads;

my($MW);

threads -> create(\&StartGUI, 'Tk & threads', [640, 480], [0, 0]) -> detach;

sub StartGUI
{
    my($title, $geometry, $resizable) = @_;
    
    $MW = MainWindow -> new(-title => $title);
    $MW -> geometry($geometry -> [0] . 'x' . $geometry -> [1]);
    $MW -> resizable($resizable -> [0], $resizable -> [1]);
    
    MainLoop;
}
Без исправлений на уровне XS, мне кажется, тут ничего уже не попишешь.
 
Ответить с цитированием