From: Peter E. <Pet...@at...> - 2001-05-11 12:31:11
|
Do you have the Win::GUI::Dialog(); statement in there? -----Original Message----- From: Chris Etzel [mailto:ce...@mi...] Sent: Thursday, May 10, 2001 8:03 PM To: per...@li... Subject: [perl-win32-gui-users] keeping a window open Ok, it may be that I have hacking at my script so long I am cross-eyed, but it is too much fun to stop now. I figured the best way to learn the Win32::GUI was to write a cool little toolbar with a couple of my most used apps on it. It floats and brings up my apps like it should, but it closes after I click the button for the app. How do I keep the script open until I exit it manually? I have an exit button but for the life of me I can't figure out how to tell it unless I click EXIT, stay open. I will kick myself in advance in case this is a basic perl coding issue and not a Win32gui issue. Thanks, Chris |
From: Peter E. <Pet...@at...> - 2001-05-11 13:56:21
|
replace exec with system and it works. exec tells perl to run something and quit. -----Original Message----- From: Chris Etzel [mailto:ce...@mi...] Sent: Thursday, May 10, 2001 9:38 PM To: per...@li... Subject: Re: [perl-win32-gui-users] keeping a window open yes. Here is the code. It's messy, but commented ... use Win32::GUI; #($DOS) = Win32::GUI::GetPerlWindow(); # Win32::GUI::Hide($DOS); # this is basically a test to learn Win32::GUI my $Toolbar=Win32::GUI::Window->new( -name=>'Toolbar', -size=>[600,75], -title=>"PERL ToolBar", ); # launcher button on main bar my $launcher=$Toolbar->AddButton( -name=>'launcher', -pos=>[10,10], -text=>"Launcher", ); $Toolbar->launcher->Show(); #launch the launcher panel and create panel as separate window #this is where I can type a command in and run it directly from <STDIN> sub launcher_Click{ my $Launcher=Win32::GUI::Window->new( -name=>'CommandLauncher', -size=>[200,75], -title=>"Launcher", ); $Launcher->Show(); my $textfield=$Launcher->AddTextfield( -name=>'CommandBox', -background=>[255,255,0], -pos=>[10,10], -size=>[150,22], ); #run button on launcher window my $runButton-$Launcher->AddButton( -name=>'runbutton', -pos=>[160,10], -text=>'Run', -size=>[30,22], ); $Launcher->runbutton->Show(); # this executes the user input of $textfield sub runbutton_Click{ exec($textfield->Text); } } my $NotePadButton=$Toolbar->AddButton( -name=>'notepad', -pos=>[75,10], -text=>'notepad', ); $Toolbar->notepad->Show(); sub notepad_Click{ exec("notepad.exe"); } #exit the program. This is a test to figure out how to keep the #toolbar floating without exiting on button_Click. my $ExitButton=$Toolbar->AddButton( -name=>'Exit', -pos=>[150,10], -text=>'Exit Toolbar', ); sub Exit_Click { exit; } $Toolbar->Show(); Win32::GUI::Dialog(); # commented this out trying to troubleshoot # sub Toolbar_Terminate{ # -1; # } ----- Original Message ----- From: Peter Eisengrein <mailto:Pet...@at...> To: 'per...@li...' <mailto:'per...@li...'> Sent: Friday, May 11, 2001 7:31 AM Subject: RE: [perl-win32-gui-users] keeping a window open Do you have the Win::GUI::Dialog(); statement in there? -----Original Message----- From: Chris Etzel [ mailto:ce...@mi... <mailto:ce...@mi...> ] Sent: Thursday, May 10, 2001 8:03 PM To: per...@li... <mailto:per...@li...> Subject: [perl-win32-gui-users] keeping a window open Ok, it may be that I have hacking at my script so long I am cross-eyed, but it is too much fun to stop now. I figured the best way to learn the Win32::GUI was to write a cool little toolbar with a couple of my most used apps on it. It floats and brings up my apps like it should, but it closes after I click the button for the app. How do I keep the script open until I exit it manually? I have an exit button but for the life of me I can't figure out how to tell it unless I click EXIT, stay open. I will kick myself in advance in case this is a basic perl coding issue and not a Win32gui issue. Thanks, Chris |
From: Frazier, J. J. <Joe.Frazier@PeopleClick.com> - 2001-05-11 14:11:49
|
>perldoc -f exec exec LIST exec PROGRAM LIST The `exec()' function executes a system command *AND NEVER RETURNS* - use `system()' instead of `exec()' if you want it to return. It fails and returns FALSE only if the command does not exist *and* it is executed directly instead of via your system's command shell (see below). =20 note the AND NEVER RETURNS part. =20 =20 You may want system, but that locks the toolbar until the application returns. You probably want to use fork if you are running Perl 5.6. Win32::Process may might also be an alternative, but using both are outside of my expertise as far as returning messages from the CALLED back to the CALLEE( your program).=20 =20 Also, I would probably set a return 1 statement at the end of each event. Not sure it this is needed or not, perhaps someone else could verify. =20 =20 -----Original Message----- From: Chris Etzel [mailto:ce...@mi...] Sent: Thursday, May 10, 2001 9:38 PM To: per...@li... Subject: Re: [perl-win32-gui-users] keeping a window open yes.=20 =20 Here is the code. It's messy, but commented ... =20 use Win32::GUI; #($DOS) =3D Win32::GUI::GetPerlWindow(); # Win32::GUI::Hide($DOS); =20 # this is basically a test to learn Win32::GUI my $Toolbar=3DWin32::GUI::Window->new( -name=3D>'Toolbar', -size=3D>[600,75], -title=3D>"PERL ToolBar", ); =20 # launcher button on main bar my $launcher=3D$Toolbar->AddButton( -name=3D>'launcher', -pos=3D>[10,10], -text=3D>"Launcher", ); $Toolbar->launcher->Show(); =20 #launch the launcher panel and create panel as separate window #this is where I can type a command in and run it directly from <STDIN> sub launcher_Click{ my $Launcher=3DWin32::GUI::Window->new(=20 -name=3D>'CommandLauncher', -size=3D>[200,75], -title=3D>"Launcher", ); $Launcher->Show(); =20 my $textfield=3D$Launcher->AddTextfield( -name=3D>'CommandBox', -background=3D>[255,255,0], -pos=3D>[10,10], -size=3D>[150,22], ); =20 #run button on launcher window my $runButton-$Launcher->AddButton( -name=3D>'runbutton', -pos=3D>[160,10], -text=3D>'Run', -size=3D>[30,22], ); $Launcher->runbutton->Show(); =20 # this executes the user input of $textfield=20 sub runbutton_Click{ exec($textfield->Text); } } my $NotePadButton=3D$Toolbar->AddButton( -name=3D>'notepad', -pos=3D>[75,10], -text=3D>'notepad', ); =20 =20 $Toolbar->notepad->Show(); sub notepad_Click{ exec("notepad.exe"); } =20 #exit the program. This is a test to figure out how to keep the=20 #toolbar floating without exiting on button_Click.=20 =20 my $ExitButton=3D$Toolbar->AddButton( -name=3D>'Exit', -pos=3D>[150,10], -text=3D>'Exit Toolbar', ); =20 sub Exit_Click { exit; } =20 =20 $Toolbar->Show(); Win32::GUI::Dialog(); =20 # commented this out trying to troubleshoot=20 # sub Toolbar_Terminate{ # -1; # } =20 =20 =20 =20 =20 =20 ----- Original Message -----=20 From: Peter Eisengrein <mailto:Pet...@at...> =20 To: 'per...@li...' <mailto:'per...@li...'> =20 Sent: Friday, May 11, 2001 7:31 AM Subject: RE: [perl-win32-gui-users] keeping a window open Do you have the Win::GUI::Dialog(); statement in there? =20 =20 -----Original Message----- From: Chris Etzel [ mailto:ce...@mi... <mailto:ce...@mi...> ] Sent: Thursday, May 10, 2001 8:03 PM To: per...@li... <mailto:per...@li...>=20 Subject: [perl-win32-gui-users] keeping a window open Ok, it may be that I have hacking at my script so long I am cross-eyed, but it is too much fun to stop now. I figured the best way to learn the Win32::GUI was to write a cool little toolbar with a couple of my most used apps on it. It floats and brings up my apps like it should, but it closes after I click the button for the app. How do I keep the script open until I exit it manually?=20 =20 I have an exit button but for the life of me I can't figure out how to tell it=20 unless I click EXIT, stay open. =20 I will kick myself in advance in case this is a basic perl coding issue and not a Win32gui issue. =20 Thanks,=20 Chris |
From: Chris E. <ce...@mi...> - 2001-05-11 17:02:16
|
That did it. Thanks! Chris ----- Original Message ----- From: "Frazier, Joe Jr" <Joe.Frazier@PeopleClick.com> To: <per...@li...> Sent: Friday, May 11, 2001 9:11 AM Subject: RE: [perl-win32-gui-users] keeping a window open >perldoc -f exec exec LIST exec PROGRAM LIST The `exec()' function executes a system command *AND NEVER RETURNS* - use `system()' instead of `exec()' if you want it to return. It fails and returns FALSE only if the command does not exist *and* it is executed directly instead of via your system's command shell (see below). note the AND NEVER RETURNS part. You may want system, but that locks the toolbar until the application returns. You probably want to use fork if you are running Perl 5.6. Win32::Process may might also be an alternative, but using both are outside of my expertise as far as returning messages from the CALLED back to the CALLEE( your program). Also, I would probably set a return 1 statement at the end of each event. Not sure it this is needed or not, perhaps someone else could verify. -----Original Message----- From: Chris Etzel [mailto:ce...@mi...] Sent: Thursday, May 10, 2001 9:38 PM To: per...@li... Subject: Re: [perl-win32-gui-users] keeping a window open yes. Here is the code. It's messy, but commented ... use Win32::GUI; #($DOS) = Win32::GUI::GetPerlWindow(); # Win32::GUI::Hide($DOS); # this is basically a test to learn Win32::GUI my $Toolbar=Win32::GUI::Window->new( -name=>'Toolbar', -size=>[600,75], -title=>"PERL ToolBar", ); # launcher button on main bar my $launcher=$Toolbar->AddButton( -name=>'launcher', -pos=>[10,10], -text=>"Launcher", ); $Toolbar->launcher->Show(); #launch the launcher panel and create panel as separate window #this is where I can type a command in and run it directly from <STDIN> sub launcher_Click{ my $Launcher=Win32::GUI::Window->new( -name=>'CommandLauncher', -size=>[200,75], -title=>"Launcher", ); $Launcher->Show(); my $textfield=$Launcher->AddTextfield( -name=>'CommandBox', -background=>[255,255,0], -pos=>[10,10], -size=>[150,22], ); #run button on launcher window my $runButton-$Launcher->AddButton( -name=>'runbutton', -pos=>[160,10], -text=>'Run', -size=>[30,22], ); $Launcher->runbutton->Show(); # this executes the user input of $textfield sub runbutton_Click{ exec($textfield->Text); } } my $NotePadButton=$Toolbar->AddButton( -name=>'notepad', -pos=>[75,10], -text=>'notepad', ); $Toolbar->notepad->Show(); sub notepad_Click{ exec("notepad.exe"); } #exit the program. This is a test to figure out how to keep the #toolbar floating without exiting on button_Click. my $ExitButton=$Toolbar->AddButton( -name=>'Exit', -pos=>[150,10], -text=>'Exit Toolbar', ); sub Exit_Click { exit; } $Toolbar->Show(); Win32::GUI::Dialog(); # commented this out trying to troubleshoot # sub Toolbar_Terminate{ # -1; # } ----- Original Message ----- From: Peter Eisengrein <mailto:Pet...@at...> To: 'per...@li...' <mailto:'per...@li...'> Sent: Friday, May 11, 2001 7:31 AM Subject: RE: [perl-win32-gui-users] keeping a window open Do you have the Win::GUI::Dialog(); statement in there? -----Original Message----- From: Chris Etzel [ mailto:ce...@mi... <mailto:ce...@mi...> ] Sent: Thursday, May 10, 2001 8:03 PM To: per...@li... <mailto:per...@li...> Subject: [perl-win32-gui-users] keeping a window open Ok, it may be that I have hacking at my script so long I am cross-eyed, but it is too much fun to stop now. I figured the best way to learn the Win32::GUI was to write a cool little toolbar with a couple of my most used apps on it. It floats and brings up my apps like it should, but it closes after I click the button for the app. How do I keep the script open until I exit it manually? I have an exit button but for the life of me I can't figure out how to tell it unless I click EXIT, stay open. I will kick myself in advance in case this is a basic perl coding issue and not a Win32gui issue. Thanks, Chris _______________________________________________ Perl-Win32-GUI-Users mailing list Per...@li... http://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users |
From: Piske, H. <Har...@bo...> - 2001-05-11 17:39:40
|
sub Exit_Click { exit; } this works, pretty much like the engine stops if you hold the brake, put in any gear and release the clutch. The way it was designed to be is to return -1, which tells Win32::GUI to exit the message loop and return from the Win32::GUI::Dialog() call back to your script. I say this because it implies that Dialog() returns back to your script whenever any of your event subs happens to return something that looks like a negative number. You have exec() (or, system() by now, or backtick or fork or whatever) as the last line of your event. If this returns a negative number, your launcher app will again stop. Also, since your script is still alive, it executes everything after the Dialog() call, which you might not expect if you are used to killing your app with exit from out of an event sub. |
From: Chris E. <ce...@mi...> - 2001-05-11 13:26:46
|
yes.=20 Here is the code. It's messy, but commented ... use Win32::GUI; #($DOS) =3D Win32::GUI::GetPerlWindow(); # Win32::GUI::Hide($DOS); # this is basically a test to learn Win32::GUI my $Toolbar=3DWin32::GUI::Window->new( -name=3D>'Toolbar', -size=3D>[600,75], -title=3D>"PERL ToolBar", ); # launcher button on main bar my $launcher=3D$Toolbar->AddButton( -name=3D>'launcher', -pos=3D>[10,10], -text=3D>"Launcher", ); $Toolbar->launcher->Show(); #launch the launcher panel and create panel as separate window #this is where I can type a command in and run it directly from <STDIN> sub launcher_Click{ my $Launcher=3DWin32::GUI::Window->new(=20 -name=3D>'CommandLauncher', -size=3D>[200,75], -title=3D>"Launcher", ); $Launcher->Show(); my $textfield=3D$Launcher->AddTextfield( -name=3D>'CommandBox', -background=3D>[255,255,0], -pos=3D>[10,10], -size=3D>[150,22], ); #run button on launcher window my $runButton-$Launcher->AddButton( -name=3D>'runbutton', -pos=3D>[160,10], -text=3D>'Run', -size=3D>[30,22], ); $Launcher->runbutton->Show(); # this executes the user input of $textfield=20 sub runbutton_Click{ exec($textfield->Text); } } my $NotePadButton=3D$Toolbar->AddButton( -name=3D>'notepad', -pos=3D>[75,10], -text=3D>'notepad', ); =20 $Toolbar->notepad->Show(); sub notepad_Click{ exec("notepad.exe"); } #exit the program. This is a test to figure out how to keep the=20 #toolbar floating without exiting on button_Click.=20 my $ExitButton=3D$Toolbar->AddButton( -name=3D>'Exit', -pos=3D>[150,10], -text=3D>'Exit Toolbar', ); =20 sub Exit_Click { exit; } =20 $Toolbar->Show(); Win32::GUI::Dialog(); # commented this out trying to troubleshoot=20 # sub Toolbar_Terminate{ # -1; # } =20 ----- Original Message -----=20 From: Peter Eisengrein=20 To: 'per...@li...'=20 Sent: Friday, May 11, 2001 7:31 AM Subject: RE: [perl-win32-gui-users] keeping a window open Do you have the Win::GUI::Dialog(); statement in there? =20 =20 -----Original Message----- From: Chris Etzel [mailto:ce...@mi...] Sent: Thursday, May 10, 2001 8:03 PM To: per...@li... Subject: [perl-win32-gui-users] keeping a window open Ok, it may be that I have hacking at my script so long I am = cross-eyed, but it is too much fun to stop now. I figured the best way = to learn the Win32::GUI was to write a cool little toolbar with a couple = of my most used apps on it. It floats and brings up my apps like it = should, but it closes after I click the button for the app. How do I = keep the script open until I exit it manually?=20 I have an exit button but for the life of me I can't figure out how = to tell it=20 unless I click EXIT, stay open. I will kick myself in advance in case this is a basic perl coding = issue and not a Win32gui issue. Thanks,=20 Chris |
From: Jeremy B. <sco...@ya...> - 2001-05-11 14:05:02
|
You are going to want to change 'exec' to 'system'. That should take care of the problem. Check the 'perlfunc' section of the Perl documentation to note the differences between 'exec' and 'system'. Jeremy Blonde -----Original Message----- From: per...@li... [mailto:per...@li...]On Behalf Of Chris Etzel Sent: Thursday, May 10, 2001 9:38 PM To: per...@li... Subject: Re: [perl-win32-gui-users] keeping a window open yes. Here is the code. It's messy, but commented ... use Win32::GUI; #($DOS) = Win32::GUI::GetPerlWindow(); # Win32::GUI::Hide($DOS); # this is basically a test to learn Win32::GUI my $Toolbar=Win32::GUI::Window->new( -name=>'Toolbar', -size=>[600,75], -title=>"PERL ToolBar", ); # launcher button on main bar my $launcher=$Toolbar->AddButton( -name=>'launcher', -pos=>[10,10], -text=>"Launcher", ); $Toolbar->launcher->Show(); #launch the launcher panel and create panel as separate window #this is where I can type a command in and run it directly from <STDIN> sub launcher_Click{ my uncher=Win32::GUI::Window->new( -name=>'CommandLauncher', -size=>[200,75], -title=>"Launcher", ); $Launcher->Show(); my $textfield=$Launcher->AddTextfield( -name=>'CommandBox', -background=>[255,255,0], -pos=>[10,10], -size=>[150,22], ); #run button on launcher window my $runButton-$Launcher->AddButton( -name=>'runbutton', -pos=>[160,10], -text=>'Run', -size=>[30,22], ); $Launcher->runbutton->Show(); # this executes the user input of $textfield sub runbutton_Click{ exec($textfield->Text); } } my $NotePadButton=$Toolbar->AddButton( -name=>'notepad', -pos=>[75,10], -text=>'notepad', ); $Toolbar->notepad->Show(); sub notepad_Click{ exec("notepad.exe"); } #exit the program. This is a test to figure out how to keep the #toolbar floating without exiting on button_Click. my $ExitButton=$Toolbar->AddButton( -name=>'Exit', -pos=>[150,10], -text=>'Exit Toolbar', ); sub Exit_Click { exit; } $Toolbar->Show(); Win32::GUI::Dialog(); # commented this out trying to troubleshoot # sub Toolbar_Terminate{ # -1; # } ----- Original Message ----- From: Peter Eisengrein To: 'per...@li...' Sent: Friday, May 11, 2001 7:31 AM Subject: RE: [perl-win32-gui-users] keeping a window open Do you have the Win::GUI::Dialog(); statement in there? -----Original Message----- From: Chris Etzel [mailto:ce...@mi...] Sent: Thursday, May 10, 2001 8:03 PM To: per...@li... Subject: [perl-win32-gui-users] keeping a window open Ok, it may be that I have hacking at my script so long I am cross-eyed, but it is too much fun to stop now. I figured the best way to learn the Win32::GUI was to write a cool little toolbar with a couple of my most used apps on it. It floats and brings up my apps like it should, but it closes after I click the button for the app. How do I keep the script open until I exit it manually? I have an exit button but for the life of me I can't figure out how to tell it unless I click EXIT, stay open. I will kick myself in advance in case this is a basic perl coding issue and not a Win32gui issue. Thanks, Chris _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com |