in reply to Re: Passing arguments to event handlers in WxPerl
in thread Passing arguments to event handlers in WxPerl

Sorry about the misunderstanding. This is just one package from the code. There is a little more. I can post all of it if you would like. You will have trouble running it without my database. The code for the event handler looks like this:

sub Combobox1action { my( $self, $event ) = @_; $self->SetTitle( 'Combo box selected' ); }
It appears that $self and $event are the only parameters contained in @_. Unfortunately, I cannot seem to access the GetValue() method(?) through either of these. From the limited wxPerl documentation, GetValue() is supposed to return the selected item in the combo box. I can't get that to happen. Neither $self->GetValue(), nor $event->GetValue() is recognized.

Replies are listed 'Best First'.
Re^3: Passing arguments to event handlers in WxPerl
by zentara (Cardinal) on Sep 18, 2014 at 20:10 UTC
    Can you make a working code example, that dosn't use any OO program? That would identify wheter it's a Wx problem, or an improper object model which you use.

    You could also check the reference type of $self to see what you are getting.

    sub Combobox1action { my( $self, $event ) = @_; print $self, "\n"; $self->SetTitle( 'Combo box selected' ); }
    If $self prints out to be a WxWidget Combobox, your code should work. But if $self turns out to be the package you are holding your code in, MyFrame, a WxWidget frame, then you will need to find a way of clearly identifying the Combobox.

    I'm not really a human, but I play one on earth.
    Old Perl Programmer Haiku ................... flash japh
      When I print $self and $event, I get the following output: MyFrame=HASH(0x190ac84) Wx::CommandEvent=SCALAR(0x190aec4) The first value is the value of $self, the second is that of $event.