ProgressBar Tk 'segmentation fault' à l'ouverture de mon mailer

Le
ctobini
Bonjour,

J'ai un problme un peu bizarre : j'ai cre une ProgressBar toute
simple avec Tk (progression de la lecture ligne ligne d'un fichier)
partir d'un exemple sur le net.

A priori a fonctionne trs bien sauf que mon script plante avec un
'segmentation fault' lorsque je lance mon lecteur de mail Evolution.

Je ne sais pas si cette erreur a bien sa place dans le forum Perl.

Voici le code :

my $mw;
my $status_var = 0;

my $colors = [];
for (my $i = 0; $i <= 500; $i+=25) { push @$colors, ($i => 'blue')=
}
$mw = MainWindow->new;
$mw->ProgressBar(
-borderwidth => 2,
-relief => 'sunken',
-width => 20,
-padx => 2,
-pady => 2,
-variable => $status_var,
-colors => $colors,
-resolution => 0,
-blocks => 50,
-anchor => 'w',
-from => '0',
-to => '500'
)->pack(
-padx => 10,
-pady => 10,
-fill => 'both',
-expand => 1
);

while(<>) { $status_var++; $mw->update }

MainLoop;

Merci si cela vous dit quelque chose.

C. Tobini
Vos réponses
Trier par : date / pertinence
Paul Gaborit
Le #130162
À (at) 29 Sep 2006 05:04:50 -0700,
"ctobini"
J'ai un problème un peu bizarre : j'ai crée une ProgressBar toute
simple avec Tk (progression de la lecture ligne à ligne d'un fichier)
à partir d'un exemple sur le net.

A priori ça fonctionne très bien sauf que mon script plante avec un
'segmentation fault' lorsque je lance mon lecteur de mail Evolution.

Je ne sais pas si cette erreur a bien sa place dans le forum Perl.


Je n'en sais rien non plus ;-)

[...]
while(<>) { $status_var++; $mw->update }


Cette ligne sollicite énormément Tk car la lecture d'une ligne est
très rapide alors qu'un 'update' peut prendre beaucoup de temps (même
si il n'y a rien à faire).

Je mettrai plutôt un truc du genre :

while(<>) {
$status_var++;
$mw->update if $status_var % 100 == 0;
}

pour faire la mise à jour de l'interface de 100 lignes en 100
lignes...

--
Paul Gaborit - Perl en français -
Publicité
Poster une réponse
Anonyme