Hello,
If this is your program...
###############################
use Win32::GUI;
use threads;
$W = new GUI::Window(
-title => "Window",
-left => 100,
-top => 100,
-width => 550,
-height => 300,
-name => "Window",
) or print_and_die("new Window");
sub test
{
threads->yield();
sleep(1);
}
$thread = threads->new(\&test);
$W->Show;
Win32::GUI::Dialog();
$thread->join();
################################
...it crashes rather nastily. (Windows crash popup)
And you get the following perl error message:
'Free to wrong pool 1a415d0 not 224ce8 at C:/Perl/site/lib/Win32/GUI.pm
line 3158
during global destruction.'
It does not crash if you either:
1. comment out the Window creation
(Which makes sense as line 3158 is a Win32::GUI::DestroyWindow
statement)
2.comment out the $thread->join()...
(?)
Still this seems to be the way to go, what am I missing?
I'm using ActivePerl 5.8.4
Frans