Howdy,

I wonder if anyone else has seen this.

(I'm very new to Win32::GUI so this is likely self inflicted.)

I have a non-interactive script (no dialog phase) that is having
trouble sleeping when in loop.  While decrementing a $count var in loop,
any movement of the mouse that falls within the bounds of the GUI window
makes each individual sleep function finish abruptly (so if I move my
mouse over window I fly through the loop).
(see code below)

Should I instead be using a timer for this perhaps???

TIA for any help,

-Jim

PS: Many thank to Mr. Calpini for this excellent module.
#===================================
#2 Areas of script in question (display and countdown loop):

<snip>
sub display {           #   Update status text
  my $text=shift;
  $aggregate=($aggregate."\n".$text);
  $MW->Show();
  $MW->BringWindowToTop();
  #$MW->Refresh();
  $MW->Status->Text($aggregate);
  $MW->Status->Update();
  $MW->Banner2->Text("My Organization"); 
  $MW->Banner1->Text("My Dept");
  $statuscount=$statuscount+$count;
  $MW->PB->SetPos($statuscount);
  Win32::GUI::DoEvents() >= 0 or die "Window was closed during
processing";
}
<snip>
#=====================================================================
<snip> 
  if ($patch eq "yes") { #3
   $aggregate=("");
   display ("                                    UPDATE NEEDED!");
   display("                                     ==============");
   display ("        Your computer is lacking an important security
update.");
   sleep(4);
   display ("       In a few seconds this update will be installed on
this PC.");
   sleep(4);
   display ("    NOTE: Your machine may have to reboot following the
install.\n");
   sleep(4);
   display (" Please make sure to close out of any programs and save
your work.\n");
   sleep(10);
   display ("Patch will install in 60"); 
   for($count = 60; $count > 0; $count--) {
   $aggregate=("");
   display ("Patch will install in:".$count ); 
   sleep 1; 
   }




Reply via email to