..really weird :) Firstly I removed all stringified numbers, all STDOUT explicit mention and implicit hash element access.. not the cause of your errors but just to clean the field.
Then I suspect the problem being in the -textvariable behaviour: I suspect problem accessing elements of a nested datastructure. Infact uncommenting my DUMMY assignement I found sometimes val being undef (using dd to dump the whole hash)
#!/usr/bin/perl use Data::Dump; use strict; use warnings; use Tk; use Tk::ProgressBar; my %pid=(ex1=>{as=>'temp', val=> -21.5}); my $mw=MainWindow->new(); my $tmpbar=$mw->Frame()->pack( -padx=>30 ); my $dummy = 'DUMMY'; # my $dummy = $pid{ex1}->{val}; PBar( $tmpbar, \$dummy, -30, 70 )->pack(); # PBar( $tmpbar, \$pid{ex1}->{val}, -30, 70 )->pack(); $tmpbar->Label( -textvariable => \$pid{ex1}{val} )->pack(); $tmpbar->Label( -text => $pid{ex1}->{as} )->pack(); print "val Labels: $pid{ex1}->{val}\n"; dd %pid; MainLoop; sub PBar { my($frame, $val, $min, $max)=@_; print "val PBar1: $$val\n"; my $pbar=$frame->ProgressBar( -anchor=>'s', -width=>100, -length=>500, -blocks=>100, -gap=>1, -resolution=>0.5, -variable=>$val, -from=>$min, -to=>$max ); print "val PBar2: $$val\n"; dd %pid; return $pbar; }
L*
In reply to Re: weird case of memory corruption? -- Tk -textvariable
by Discipulus
in thread weird case of memory corruption?
by perltux
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |