Hello, Adam Theo here;

i have built a Tk program to act as a alarm clock. it was a while ago 
that i created it, and was pretty sure it was working, but now that i go 
back to it, it is giving this error when i press the button to stop the 
alarm:

Tk::Error: Can't locate object method "IsWidget" via package "Tk::After" 
(perhaps you forgot to load "Tk::After"?) at 
/usr/local/lib/perl5/site_perl/5.6.1/i586-linux/Tk.pm line 173.
  [\&main::beep_stop]
  Tk callback for .frame4.button
  Tk::__ANON__ at /usr/local/lib/perl5/site_perl/5.6.1/i586-linux/Tk.pm 
line 228
  Tk::Button::butUp at 
/usr/local/lib/perl5/site_perl/5.6.1/i586-linux/Tk/Button.pm line 111
  (command bound to event)

here is the relevant code from the program. this is certainly not all 
the code, though:

### set off the beep alarm
# recieve the alarm number to work with.
# start the Tk alarm.
# set the number's status as 'down' in the hash.
# save hash,
# sending '-1' to save only what is in hash now.
sub beep_alarm {
     my($number) = @_;
     my($status);
     print("Starting alarm $number.\n");
     $beep_repeat = $main_w->repeat($interval, sub {$f2->bell});
     print("Bringing alarm $number status down.\n");
     $config->{alarm}->[$number]->{status}->[0] = 'Down';
     &alarm_refresh('-1');
}

     ### stop alarm
     $f5->Button(
         -text => 'Stop',
         -command => \&beep_stop
         )->pack(-expand => '1', -fill => 'x');

### stop the beep alarm
# stop the universal beep alarm,
# but only if it is running.
sub beep_stop {
     $beep_repeat->cancel() if Tk::Exists($beep_repeat);
}

any ideas pop out to anyone? thanks in advance.
--
   /\   Theoretic Solutions (www.Theoretic.com):
  //\\    'Activism, Software, and Internet Services'
//--\\ Personal Homepage (www.Theoretic.com/adamtheo/):
   ][     'Personal history, analysis, and favorites'
   ][   Birthright Online (www.Birthright.net):
          'Keeping the best role-playing game alive'
Email & Jabber:                   Other:
-Professional: [EMAIL PROTECTED]  -AIM: AdamTheo2000
-General: [EMAIL PROTECTED]   -ICQ: 3617307
-Personal: [EMAIL PROTECTED]      -Phone: (850)8936047

Reply via email to