From: Robert M. <rm...@po...> - 2005-12-16 23:40:41
|
Arthur I Schwarz wrote: > I'm have partitioned my program into modules: > > <name>::GUI > > The program driver is in <name>: > > <name>.anonymous subroutine (the nameless thing at the end) > &StartWindows # &<name>::GUI::StartWindows > > and <name>::GUI::StartWindows I do: > > $window->show(); > Win32::GUI::Dialog(); > > The window displays correctly. > All the pull down menus display correctly. > Selecting any item in a pull down menu has no effect (the event seems to be > unhandled). > Selecting the big X in the window causes the window to close and control to > return to the perl program. > > The GUI did work with the same code before partitioning, all code in a > single .pl file. My suspicion is that you are letting the variable that holds your menu object go out of scope, but with no code posted it's hard to tell. Try using 'our $menu = ...' rather than 'my $menu = ...' when you create the menu object. Letting things go out of scope is very easy to do when you split code into modules. > On another note, I'm reworking my Minimal Perfect Hash function algorithm > (from college). It is a deterministic algorithm that returns a polynomial > hash function which yields an O(1) probe into a hash table. Any interest in > converting all of the table lookups in the *.xs files? (PS: this solves an > otherwise unsolved problem in discovering such a function.) Is this a perl implementation of an mph polynomial generator? I've already re-worked the whole constants support (see the archive for this list a couple of months back), and it currently uses a perl hash to hold the constants and do the lookup, but given the potential number of constants in the windows header files I was thinking of implementing a mph solution (and have been playing with Taj Khattra's mph-1.2, which I have ported to compile under MS VC++). A perl implementation that generates the polynomial values to stick in the C code would be a nice way to solve the problem that I have been struggling with of how to make a distribution that others can easily add constants to. Regards, Rob. |