Steve: Seems that $self->Close works.
Used system() instead of backticks. All working now. Thanks for the help. James On Jan 31, 2015 2:25 PM, "Steve Cookson - gmail" <steveco.1...@gmail.com> wrote: > Hi James, > > You're right it does segfault, I didn't notice. > > I've had that before but I can't remember why. I'll look into it. Anyone > else any ideas? > > Regards > > Steve. > > > On 30/01/15 20:59, James Lynes wrote: > > Steve: > > The exit(0) seems to be causing a segmentation fault. Any Ideas? > > Latest version of the code is attached. > > Thanks, > James > > > On Thu, Jan 29, 2015 at 4:29 PM, James Lynes <jmlyne...@gmail.com> wrote: > >> Steve: >> >> I believe I looked at Glade a couple of years ago. Seems it kept crashing >> on me so I just went back to the old manual method. >> >> Thanks for the sample code. >> >> James >> >> >> On Thu, Jan 29, 2015 at 12:28 PM, Steve Cookson - gmail < >> steveco.1...@gmail.com> wrote: >> >>> Hi James, >>> >>> I've replied to the list as well because I feel it needs a bit of loving! >>> >>> On 28/01/15 18:23, James Lynes wrote: >>> >>>> Hi Steve: >>>> >>>> How's your project rollout going? >>>> >>> Very kind of you to ask. The launch went very well, since then we have >>> been dealing with the manufacturer and we are working to a delivery of the >>> first batch to Brazil by the end of March. Our Brazilian salesman is >>> confident that he will sell all the first batch without too much difficulty. >>> >>>> What's the accepted method to shutdown an application? >>>> >>>> I can use die, but there must be a WX call that should be used. I don't >>>> want to leave a frame open on the screen that has to be closed manually. >>>> >>>> Example using die is attached. (Wrapper around a command line >>>> application) >>>> >>> >>> The short answer to your question is probably "exit(0);" called from an >>> exit button. >>> >>> However, the longer answer is did you ever see wxGlade? >>> >>> I don't know whether wxGlade was ever converted to 3.0.x, but it did >>> work on 2.8 and I thought 2.9. It's a wonderful way to get started with >>> all the Wx paradigms. I used it extensively at the beginning. >>> >>> I re-wrote the OnInit subroutine as below. It uses Wx::BoxSizer and >>> Wx::Events, both of which will help your application. I also used >>> Wx::FilePickerCtrl as a control to get the .pdf file. >>> >>> Have fun with it. >>> >>> Best regards >>> >>> Steve. >>> >>> >>> sub OnInit { >>> >>> my $parent = shift; >>> >>> >>> my $frame = Wx::Frame->new(undef, wxID_ANY, "", wxDefaultPosition, >>> wxDefaultSize ); >>> >>> $parent->SetTopWindow($frame); >>> >>> #Create controls >>> # Fields >>> my $pdfLabel=Wx::StaticText->new($frame, wxID_ANY,"PDF file", >>> wxDefaultPosition, wxDefaultSize); >>> my $pdfFilePicker=Wx::FilePickerCtrl->new($frame, wxID_ANY, "", >>> "Pick a folder","*.pdf",wxDefaultPosition, [200,-1], >>> wxDIRP_DIR_MUST_EXIST|wxDIRP_CHANGE_DIR|wxDIRP_USE_TEXTCTRL); >>> $pdfFilePicker->SetPath("/home/image/"); >>> my $cropLabel=Wx::StaticText->new($frame, wxID_ANY,"crop string", >>> wxDefaultPosition, wxDefaultSize); >>> my $cropStringText=Wx::TextCtrl->new($frame, wxID_ANY,"crop string", >>> wxDefaultPosition, [200,-1]); >>> # Buttons >>> my $okButton = Wx::Button->new($frame, wxID_OK, "", >>> wxDefaultPosition, wxDefaultSize); >>> my $cancelButton = Wx::Button->new($frame, wxID_CANCEL, "", >>> wxDefaultPosition, wxDefaultSize); >>> >>> # Create sizers. >>> my $verticalSizerFrame = Wx::BoxSizer->new(wxVERTICAL); >>> $frame->SetSizer($verticalSizerFrame); >>> my $verticalSizerControls = Wx::BoxSizer->new(wxVERTICAL); >>> my $horizontalSizerButtons = Wx::BoxSizer->new(wxHORIZONTAL); >>> # Lay 'em out. >>> $verticalSizerFrame->Add($verticalSizerControls,0,0,0); >>> $verticalSizerFrame->Add($horizontalSizerButtons,0,0,0); >>> >>> $verticalSizerControls->Add($pdfLabel,0,0,0); >>> $verticalSizerControls->Add($pdfFilePicker,0,0,0); >>> $verticalSizerControls->Add($cropLabel,0,0,0); >>> $verticalSizerControls->Add($cropStringText,0,0,0); >>> >>> $horizontalSizerButtons->Add($okButton,0,0,0); >>> $horizontalSizerButtons->Add($cancelButton,0,0,0); >>> >>> # Event handlers >>> Wx::Event::EVT_BUTTON($frame, $okButton, sub { >>> my ($self, $event) = @_; >>> exit (0); >>> }); >>> >>> $verticalSizerFrame->Layout(); >>> >>> $frame->Show(1); >>> >>> } >>> >>> >>>> Thanks, >>>> James >>>> >>> >>> >> > >