Gabriel R. Toro wrote:
> 
> Hi,
> 
> This question may be too simple for this group; if so, I apologize. I 
> only use perl once in a while and this is my first experience with
> Win32::GUI.
> 
> I wrote a simple perl script that calls GetSaveFileName to get the 
> name of an output file and then calls the shell to execute some 
> separate programs (I get the same problems using backtics or system). 
> After the call to GetSaveFileName, the shell commands do not seem to 
> find the necessary files (even though the files exist in the current 
> directory), unless I specify the full path for those files. If I 
> remove the call to GetSaveFileName and hard-wire a name, everything works.
> 
> It is not a problem with the subroutine that calls GetSaveFileName; 
> the subroutine returns the right name (including full path). It seems 
> like Win32::GUI is having some undesirable side effect:
> -does Win32::GUI change the current path? (my tests suggests it does not)
> -does Win32::GUI change the shell that executes the backtick or 
> system commands or the settings of that shell?
> -anything else?
> 
> I would appreciate any suggestions.
> 
> Thanks,
> 
> Gabriel
> 
> 
> PS: Here is my GetSaveFileName (which, as I indicated, is working OK 
> except for the "side effects").
> sub GetSaveFileName
> #
> # returns selected pdf file
> # #no arguments (may want to add them later)
> {
>      use strict;
>      use warnings;
> 
>      use Win32::GUI qw();
> 
>      my $window_main = Win32::GUI::Window->new(
>                                                 -name  => 'window_main',
>                                                 -size  => [320, 240],
>                                                 -title => 'CmnDlg - Save
> As',
>                                                 );
> 
>      $window_main->Show();
> 
>      my $file = '';
>      my $directory = 'C:/';
> 
> # Save as file dialog box, show files with *.txt extension, in messages
> folder
> 
>      $file = Win32::GUI::GetSaveFileName(
>                                           -owner     =>  $window_main,
>                                           -title     =>  'Select 
> Output pdf file',
>                                           -directory =>  $directory,
>                                           -filter    =>  ['Pdf 
> files', '*.pdf', 'All files', '*.*'],
>                                           -file      =>  $file,
>                                           );
>      return $file;
> }
> 1 # needed if we are using require
> 
> 
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
> Register now and save $200. Hurry, offer ends at 11:59 p.m., 
> Monday, April 7! Use priority code J8TLD2. 
> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
> _______________________________________________
> Perl-Win32-GUI-Users mailing list
> Perl-Win32-GUI-Users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
> http://perl-win32-gui.sourceforge.net/
> 
> 

Have you tried quoting the command line string? Under Windows XP you have to
quote the command line paths if spaces are in the path.
-- 
View this message in context: 
http://www.nabble.com/Problem-executing-shell-commands-from-within-perl-after-call-to-GetSaveFileName-tp16558563p16580369.html
Sent from the perl-win32-gui-users mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Perl-Win32-GUI-Users mailing list
Perl-Win32-GUI-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
http://perl-win32-gui.sourceforge.net/

Reply via email to