&::PukeSendMessage($::PUKE_WIDGET_LOAD, $::PUKE_CONTROLLER, $::PWIDGET_TABLEVW, "ptablevw.so", sub { my %ARG = %{shift()}; if($ARG{'iArg'} == 1){ print "*E* PTableView Load failed!\n"; } } ); package PTableView; @ISA = qw(PFrame); use strict; if($PTableView::usage == undef){ $PTableView::usage = 0; } sub new { my $class = shift; my $self = $class->SUPER::new($class, @_); if($PTableView::usage == 0){ } $PTableView::usage++; $self->{widgetType} = $::PWIDGET_TABLEVW; if($class eq 'PTableView'){ $self->create(); } return $self; } sub DESTROY { my $self = shift; $self->SUPER::DESTROY(@_); $PTableView::usage--; if($PTableView::usage == 0){ # &::PukeSendMessage($::PUKE_WIDGET_UNLOAD, # 0, # $::PWIDGET_TABLEVW, # "", # sub {} # ); } } package main; 1;