Hi alle zusammen,ich habe ein Perl/Tk Fenster, das aktualisiert werden muss während anderer Perlcode mit eval() nebenbei ausgeführt wird.
Ausserdem muss ein Button die Möglichkeit bieten eval() abzubrechen während der code ausgeführt wird.
Ich hatte mir überlegt etwas mit repeat() anzustellen, nur leider weiß ich nicht wie ich eval() in einer äußeren Subroutine abbrechen soll.
Und mein Fenster wird auch nicht aktualisiert, wenn ich zum Beispiel folgendes mache:
#!/usr/bin/perl
use strict;
use warnings;
use Tk;my $mw = new MainWindow;
$mw -> Button(-text => "Start",
-command => [\&callback])
-> pack();
MainLoop;
sub callback
{
# repeat starten
my $id = $mw -> repeat(50, sub { $mw->update });
# code ausführen
eval( 'while ( 1 ) { 1 }' );
# repeat anhalten
$id -> cancel();
}
In Hoffnung auf baldige Hilfe
- Mike
Datum: 04.04.2007-17:55
