In the example, just click the button, which will run the app again, then close it (all the while keepin' an eye on the console).
#!/usr/bin/perl -w -- # generated by wxGlade 0.3.1 on Mon Nov 17 17:52:26 2003 # To get wxPerl visit http://wxPerl.sourceforge.net/ use Wx 0.15 qw[:allclasses]; use strict; package MyFrame; use Wx qw[:everything]; use base qw(Wx::Frame); use strict; sub new { my( $self, $parent, $id, $title, $pos, $size, $style, $name ) = @_ +; $parent = undef unless defined $parent; $id = -1 unless defined $id; $title = "" unless defined $title; $pos = wxDefaultPosition unless defined $pos; $size = wxDefaultSize unless defined $size; $name = "" unless defined $name; # begin wxGlade: MyFrame::new $style = wxDEFAULT_FRAME_STYLE unless defined $style; $self = $self->SUPER::new( $parent, $id, $title, $pos, $size, $sty +le, $name ); $self->{button_1} = Wx::Button->new($self, -1, "button_1"); use Wx::Event qw[ EVT_END_PROCESS EVT_BUTTON ]; EVT_END_PROCESS( Wx::wxTheApp(),-1, sub{warn("it ended @_")}); EVT_BUTTON( $self->{button_1}, $self->{button_1}, sub { my $fpid = Wx::ExecuteArgs( # start this program again [ $^X, __FILE__ ], Wx::wxEXEC_ASYNC(), Wx::Process->new() ); warn("it started $fpid"); }, ); $self->__set_properties(); $self->__do_layout(); return $self; # end wxGlade } sub __set_properties { my $self = shift; # begin wxGlade: MyFrame::__set_properties $self->SetTitle("frame_1"); # end wxGlade } sub __do_layout { my $self = shift; # begin wxGlade: MyFrame::__do_layout $self->{sizer_1} = Wx::BoxSizer->new(wxVERTICAL); $self->{sizer_1}->Add($self->{button_1}, 0, 0, 0); $self->SetAutoLayout(1); $self->SetSizer($self->{sizer_1}); $self->{sizer_1}->Fit($self); $self->{sizer_1}->SetSizeHints($self); $self->Layout(); # end wxGlade } # end of class MyFrame 1; package MyApp; use base qw(Wx::App); use strict; sub OnInit { my( $self ) = shift; Wx::InitAllImageHandlers(); my $frame_1 = MyFrame->new(); $self->SetTopWindow($frame_1); $frame_1->Show(1); return 1; } # end of class MyApp package main; unless(caller){ my $app = MyApp->new(); $app->MainLoop(); } __END__ it started 884 at C:\dev\loose\wx.proc.pl line 40. it started 1376 at C:\dev\loose\wx.proc.pl line 40. it started 1208 at C:\dev\loose\wx.proc.pl line 40. it ended MyApp=HASH(0x1ab5224) Wx::ProcessEvent=SCALAR(0x2a37114) at C +:\dev\loose\wx.proc.pl line 32. it ended MyApp=HASH(0x1ab5224) Wx::ProcessEvent=SCALAR(0x2a37114) at C +:\dev\loose\wx.proc.pl line 32. it ended MyApp=HASH(0x1ab5224) Wx::ProcessEvent=SCALAR(0x2a37114) at C +:\dev\loose\wx.proc.pl line 32.
In reply to Re: Give me my gui back!
by PodMaster
in thread Give me my gui back!
by Bagarre
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |