J'ai rencontré un problème avec les scalaires dans mon programme.Erreur Perl Tk "Valeur non valide pour le scalaire partagé"
J'ai obtenu le code comme ceci:
use threads;
use threads::shared;
use Tk;
$mw = new MainWindow;
my $label = undef;
share($label) my $ok = undef;
share($ok)
HERE IS BUTTON WITH OPTION -command => \&sub1
threads->create('sub2');
sub sub1 {
$top = $mw->TopLevel();
$label = $top->Label(-text => 'something')->pack();
$ok = 1;
}
sub sub2 {
while (1) {
if ($ok) {
$label->configure(-text => 'i need this');
$label->update;
}
}
}
Je suis erreur dans $label->configure(-text => 'i need this');
comme ceci:
Invalid value for shared scalar at xxx.pl
Je dois mettre à jour seulement mon texte de l'étiquette de fils et je ne peux pas faire ce.
Merci pour les conseils.