The solution, apparently, is that the reference to the Menu object must be
passed back to the main script; apparently the menu-ref is NOT encapsulated
inside of the Window object that contains it... which is counter-intuitive, and
unlike any other perl module I have ever seen...
----------------------------------------
this pseudo-code does NOT work:
my $window=Module->new;
$window->Show();
Win32::GUI::Dialog();
package Module;
$menu = Win32::GUI::MakeMenu (blah blah)
$window=Win32::GUI::Window->new(-menu => $menu)
return $window
-----------------------------------------
this pseudo-code DOES work:
my ($window, $menu)=Module->new;
$window->Show();
Win32::GUI::Dialog();
package Module;
$menu = Win32::GUI::MakeMenu (blah blah)
$window=Win32::GUI::Window->new(-menu => $menu)
return ($window, $menu)
-------------------------------------------
I have no idea why it worked on one OS and not the other, but still... it is
the most bizzarre thing I have ever come across while using Perl! It is such
bizzarre behavior that I am tempted to call it a bug in Win32GUI, rather than
just a quirk...
Anyway, in case anyone else ever has this problem, that is the solution :-)
Merry Christmas everyone!
M