Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Konstantin Tokar                     2:5020/400     01 Sep 2004  00:06:44
 To : Artem Chuprina
 Subject : Re: fileevent  в Perl и Tk
 -------------------------------------------------------------------------------- 
 
 Artem Chuprina wrote:
 
 > Konstantin Tokar -> Serge Olkhowik  @ Tue, 31 Aug 2004 17:46:22 +0000 (UTC):
 > 
 >  >>  Konstantin Tokar (KT) wrote:
 >  >>  KT> Как сделать работающим таклй кусок под Windows ? В Linux работает,
 >  >>  KT> perl 5.6.1, в Windows работает криво в AS633, в AS810 работать не
 >  >>  KT> хочет. Что я делаю неправильно? Или, как работать с последовательными
 >  >>  KT> портами?
 >  >> У меня fileevent нормально не работают даже в 5.8.3.
 >  >>
 >  KT> ТАм что-то с блокировкой ввода-вывода наверняка надо сделать, в
 >  KT> конце концов асинхронный ввод-вывод в Windows сделан гораздо лучше,
 >  KT> чем в Linux, и странно, что в Tk его может не быть. Hаверняка
 >  KT> кто-то знает, но молчит.
 > 
 > Тут засада в том, что это перловый порт, а fileevent - операция Tcl, а
 > не Tk.  Hе исключено, что тот, кто портил Tk в perl (а это честный порт,
 > а не как в питоне), не умеет работать с файлами под Windows в perl...
 > 
 
 Тут тую я случайно заметил странность. Если провести мышкой над 
 тк-овским окном, fileevent срабатывает. Я попробовал до регистрации 
 fileevent добавить
 
 $main->repeat(10,sub {});
 
 fileevent начал работать. Без вождения мышкой. Причём, можно писать 10б 
 можно 100000 - всё равно. Теперь пример ниже работает. 
 ПОЧЕМУ????????????????????????????????????????????
 Hо работает только в AS 633, в AS 810 не работает. 
 ПОЧЕМУ?????????????????????????
 
 #!perl -w
 use Tk;
 use Tk::widgets qw(Label);
 use Tk::After;
 
 my $main = MainWindow->new();
 
 my $label = $main->Label();
 $label->pack( -fill => 'both' );
 $main->repeat(10000000,sub {});
 
 $main->fileevent(
 
      \*STDIN,
      'readable',
      sub {
          $_ = <>;
          print if defined $_;
          $label->configure( -text => $_ );
      }
 );
 
 MainLoop;
 --- ifmail v.2.15dev5.3
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: fileevent в Perl и Tk   Konstantin Tokar   31 Aug 2004 21:46:22 
 Re: fileevent в Perl и Tk   Artem Chuprina   31 Aug 2004 22:04:51 
 Re: fileevent в Perl и Tk   Konstantin Tokar   01 Sep 2004 00:06:44 
Архивное /ru.perl/6577d2790c94.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional