## ______ ## ## $subname = "Menu${key}_Click"; ## ## ^^^^^^ ##
is this working ? scalar $key is a string and has a value but does ${key} have the same value then? isn't it interpated as a hash in stead of a scalar? i mostly use: $subname = "Menu$key\_Click"; or $subname = "Menu$key"."_Click"; Grretings Ceres *********** REPLY SEPARATOR *********** On 18-6-2002 at 12:11 [EMAIL PROTECTED] wrote: > Today's Topics: > > 1. Creating menu's "on-the-fly" (Jonathan Southwick) > 2. Fwd: Re: [perl-win32-gui-users] Creating menu's "on-the-fly" (Jonathan > Southwick) > 3. Re: Creating menu's "on-the-fly" (Jonathan Southwick) > > --__--__-- > > Message: 1 > From: Jonathan Southwick <[EMAIL PROTECTED]> > Subject: [perl-win32-gui-users] Creating menu's "on-the-fly" > > Can anyone see anything I am doing wrong? > > # define main menu > my $MainMenu = new Win32::GUI::Menu( > "&File" => "File", > " > E&xit" => "FileExit", > "&Message" => "Message", > " > &Add New" => "AddMessage", > " > &Edit" => "EditMessage", > " > &Delete" => "DeleteMessage", > " > -" => 0, > @MENUDEF, > "&Tools" => "Tools", > " > &Setup" => "Setup", > " > -" => 0, > " > Change &Password" => "ChangePassword", > "&Help" => "Help", > " > &About" => "About", > ); > > > ### I call this routine *before* I create my menu. > sub getMessageList { > ### stuff deleted, this section just read in the file and created the has > ### now I want to use the values in the hash for my menu. > @MENUDEF = (); > foreach $key (keys (%MESSAGE)) { > print "$key is text: $MESSAGE{$key}\n"; > ## this is only for testing purposes to make > ## sure I have the right information > push(@MENUDEF," > $key"); > push(@MENUDEF,"Menu$key"); > $subname = "Menu${key}_Click"; > *$subname = eval(qq( > sub { > print "got a click\n"; ## this is for testing, but I don't get > a click > $MainWindow->Message->Text($MESSAGE{$key}); > return; > } > )); > } > return; > } > > > Jonathan