Hi,

I've just spent ages tracking down a problem in my code...it turns out that it 
was a simple typo - I spelt a method name incorrectly:) The program should have 
died, but it didn't - this is due to hook not propagating die.

The example below shows the bug in action - a timer sends a message to a 
window, which is then picked up by hook. As you can see, the programme should 
die but it continues on it's merry way.

Before I spend some time trying to fix this problem am I correct in assuming 
this is a bug?

Cheers,

jez.

---------------------------------
#!/usr/local/bin/perl -w
$|++;
use strict;
use Win32::GUI;

my $winTimer = Win32::GUI::Window->new(
     -name => "winTimer",
     -left => 50,
     -top => 50,
     -height => 200,
     -width => 300,
     -text => "test",
);
#hook the message
$winTimer->Hook(0x8000+3,\&Message);
#add a timer handler
$winTimer->SetEvent('Timer',\&Timer);
#create a timer
my $timTimer = $winTimer->AddTimer("timTimer", 100); 

$winTimer->Show();
Win32::GUI::Dialog();

sub Message {
  print shift;
  die 'some problem';
  print 'do we get here?';
}

sub Timer {
  #send a message to the window which is picked up by the hooked message 
handler.
  $winTimer->SendMessage(0x8000+3,0,0);
}
 

Reply via email to