ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> activeperl
activeperl
RE: listbox error
by Tony W. Bass other posts by this author
May 22 2009 8:36AM messages near this date
RE: listbox error | Need help for open source and diagramming research
Brian,

Many thanks, this seemed to have solved the problem. I typically use
strict; but not use warnings which would have helped. It is strange why
the g_grid command will work as I coded it originally on buttons,
labels, and entry's but not on lists. If you have any idea why that
would be I would like to know.

Thanks,

Tony

-----Original Message-----
From: activeperl-bounces@[...].com
[mailto:activeperl-bounces@[...].com] On Behalf Of Brian
Raven
Sent: Friday, May 22, 2009 3:09 AM
To: activeperl@[...].com
Subject: RE: listbox error

From: activeperl-bounces@[...].com
[mailto:activeperl-bounces@[...].com] On Behalf Of Tony
W. Bass
Sent: 22 May 2009 01:45
To: activeperl@[...].com
Subject: listbox error

>  Hi All,
>  
>  Can anyone explain to me why I get the error:
>  
>  Can't call method "g_bind" without a package or object reference at
C:\scripts\Error Code\listbox_error.pl line >  17.
>  
>  Whenever I run the following code. This is put together from a larger
program and if you take out the bind 
>  language you get the same basic error on the curselection statement.
This is driving me crazy at this point. 
>  

Start by putting ';use strict; use warnings;' at the start of your
script, and declaring variables in a small a scope as necessary.

>  use Tkx;
>  my $mw = Tkx::widget->new(".");
>  $mw->g_wm_title("Test Program");
>  (my $nb = $mw->new_ttk__notebook(-height => 768, -width =>
1024))-> g_grid();
>  testtab1();
>  testtab2();
>  Tkx::MainLoop();
>  sub testtab1 {
>      $tab1 = $nb->new_ttk__frame(-padding => "10");
>      $userbox = $tab1->new_tk__listbox(-height => 20,
-listvariable=> \$cnames)->g_grid(-column=>1,-row=>1);

I'm not a Tkx expert, but it looks like g_grid doesn't return what you
think it does, so you need to split the above.

    $userbox = $tab1-> new_tk__listbox(-height => 20,
-listvariable=> \$cnames);
    $userbox-> g_grid(-column=>1,-row=>1);

Then you can move on to your next error, which is a bit more obvious :-)

>      
>      $userbox->g_bind("<<ListboxSelect>>", sub {GetSecurity()});
>      $nb->add($tab1, -text => 'Test Tab', -state=>'hidden');
>  }
>  @countrynames = ("Argentina", "Australia", "Belgium", "Brazil",
"Canada", "China", "Denmark", 
>          "Finland", "France", "Greece", "India", "Italy", "Japan",
"Mexico", "Netherlands", "Norway", "Spain", 
>          "Sweden", "Switzerland");
>  $cnames = ''; foreach $i (@countrynames) {$cnames = $cnames . ' {' .
$i . '}';};
>  sub GetSecurity {
>      my $u;
>      my @idx = $userbox->curselection;
>      if ($#idx==0) {
>          $u = $countrynames[$idx[0]];
>      }
>      print "$u\n";
>  }

HTH

-- 
Brian Raven 
This e-mail may contain confidential and/or privileged information. If
you are not the intended recipient or have received this e-mail in
error, please advise the sender immediately by reply e-mail and delete
this message and any attachments without retaining a copy.

Any unauthorised copying, disclosure or distribution of the material in
this e-mail is strictly forbidden.

_______________________________________________
ActivePerl mailing list
ActivePerl@[...].com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________
ActivePerl mailing list
ActivePerl@[...].com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Thread:
Tony W. Bass
Brian Raven
Tony W. Bass

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved