Faulting application perl.exe, version 0.0.0.0, faulting module wx.dll, version 0.0.0.0, fault address 0x0000342a. #### $i_RTC_panel->{printout}->GetRichTextBuffer(); #### Faulting application perl.exe, version 0.0.0.0, faulting module unknown, version 0.0.0.0, fault address 0xf0a8ca63. #### sub OnPreview { my( $this, $event ) = @_; my $prev = Wx::DemoModules::wxPrinting::Printout->new( $this->canvas, "Preview" ); my $print = Wx::DemoModules::wxPrinting::Printout->new( $this->canvas, "Print" ); my $preview = Wx::PrintPreview->new( $prev, $print ); my $frame = Wx::DemoModules::wxPrinting::PreviewFrame->new( $preview, wxTheApp->GetTopWindow, "Printing Demo Preview", [-1, -1], [600, -1] ); $frame->Initialize(); $frame->Show( 1 ); } #### BEGIN { package MyRichTextPrintout; use base qw[ Wx::RichTextPrintout ]; sub new { my ( $self, $buffer ) = @_; $self = $self->SUPER::new(); $self->SetRichTextBuffer($buffer); return $self; } sub DESTROY { $_[0]->SetRichTextBuffer(undef); return; } } sub on_click_richtext_preview { my ($self) = @_; my $preview = Wx::PrintPreview->new( MyRichTextPrintout->new( $self->{Ctl_Report_Text_Txt}->GetBuffer() ), MyRichTextPrintout->new( $self->{Ctl_Report_Text_Txt}->GetBuffer() ), ); $preview->SetZoom(200); my $frame = Wx::PreviewFrame->new( $preview, $self, "Printing Demo Preview", wxDefaultPosition, [ 1360, 768 ], wxNO_BORDER ); $frame->Initialize(); my $state = $frame->Show(1); }