listbox error

This is a multi-part message in MIME format.

--===============1730517669==
Content-class: urn:content-classes:message
Content-Type: multipart/alternative;
boundary="----_=_NextPart_001_01C9DA76.95FBA3A4"

This is a multi-part message in MIME format.

------_=_NextPart_001_01C9DA76.95FBA3A4
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

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.





use Tkx;

my $mw =3D Tkx::widget->new(".");

$mw->g_wm_title("Test Program");

(my $nb =3D $mw->new_ttk__notebook(-height =3D> 768, -width =3D>
1024))->g_grid();

testtab1();

testtab2();

Tkx::MainLoop();

sub testtab1 {

$tab1 =3D $nb->new_ttk__frame(-padding =3D> "10");

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



$userbox->g_bind("<<ListboxSelect>>", sub {GetSecurity()});

$nb->add($tab1, -text =3D> 'Test Tab', -state=3D>'hidden');

}

[at] countrynames =3D ("Argentina", "Australia", "Belgium", "Brazil",
"Canada", "China", "Denmark",

"Finland", "France", "Greece", "India", "Italy", "Japan",
"Mexico", "Netherlands", "Norway", "Spain",

"Sweden", "Switzerland");

$cnames =3D ''; foreach $i ( [at] countrynames) {$cnames =3D $cnames . ' {' . =
$i
.. '}';};

sub GetSecurity {

my $u;

my [at] idx =3D $userbox->curselection;

if ($#idx=3D=3D0) {

$u =3D $countrynames[$idx[0]];

}

print "$u\n";

}



Thanks immensely for any help.



Tony Bass


------_=_NextPart_001_01C9DA76.95FBA3A4
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" =
xmlns:p=3D"urn:schemas-microsoft-com:office:powerpoint" =
xmlns:a=3D"urn:schemas-microsoft-com:office:access" =
xmlns:dt=3D"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" =
xmlns:s=3D"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" =
xmlns:rs=3D"urn:schemas-microsoft-com:rowset" xmlns:z=3D"#RowsetSchema" =
xmlns:b=3D"urn:schemas-microsoft-com:office:publisher" =
xmlns:ss=3D"urn:schemas-microsoft-com:office:spreadsheet" =
xmlns:c=3D"urn:schemas-microsoft-com:office:component:spread sheet" =
xmlns:odc=3D"urn:schemas-microsoft-com:office:odc" =
xmlns:oa=3D"urn:schemas-microsoft-com:office:activation" =
xmlns:html=3D"http://www.w3.org/TR/REC-html40" =
xmlns:q=3D"http://schemas.xmlsoap.org/soap/envelope/" =
xmlns:rtc=3D"http://microsoft.com/officenet/conferencing" =
xmlns:D=3D"DAV:" xmlns:Repl=3D"http://schemas.microsoft.com/repl/" =
xmlns:mt=3D"http://schemas.microsoft.com/sharepoint/soap/mee tings/" =
xmlns:x2=3D"http://schemas.microsoft.com/office/excel/2003/x ml" =
xmlns:ppda=3D"http://www.passport.com/NameSpace.xsd" =
xmlns:ois=3D"http://schemas.microsoft.com/sharepoint/soap/oi s/" =
xmlns:dir=3D"http://schemas.microsoft.com/sharepoint/soap/di rectory/" =
xmlns:ds=3D"http://www.w3.org/2000/09/xmldsig#" =
xmlns:dsp=3D"http://schemas.microsoft.com/sharepoint/dsp" =
xmlns:udc=3D"http://schemas.microsoft.com/data/udc" =
xmlns:xsd=3D"http://www.w3.org/2001/XMLSchema" =
xmlns:sub=3D"http://schemas.microsoft.com/sharepoint/soap/20 02/1/alerts/"=
xmlns:ec=3D"http://www.w3.org/2001/04/xmlenc#" =
xmlns:sp=3D"http://schemas.microsoft.com/sharepoint/" =
xmlns:sps=3D"http://schemas.microsoft.com/sharepoint/soap/" =
xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance" =
xmlns:udcs=3D"http://schemas.microsoft.com/data/udc/soap" =
xmlns:udcxf=3D"http://schemas.microsoft.com/data/udc/xmlfile " =
xmlns:udcp2p=3D"http://schemas.microsoft.com/data/udc/partto part" =
xmlns:wf=3D"http://schemas.microsoft.com/sharepoint/soap/wor kflow/" =
xmlns:dsss=3D"http://schemas.microsoft.com/office/2006/digsi g-setup" =
xmlns:dssi=3D"http://schemas.microsoft.com/office/2006/digsi g" =
xmlns:mdssi=3D"http://schemas.openxmlformats.org/package/200 6/digital-sig=
nature" =
xmlns:mver=3D"http://schemas.openxmlformats.org/markup-compa tibility/2006=
" xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns:mrels=3D"http://schemas.openxmlformats.org/package/200 6/relationshi=
ps" xmlns:spwp=3D"http://microsoft.com/sharepoint/webpartpages" =
xmlns:ex12t=3D"http://schemas.microsoft.com/exchange/service s/2006/types"=
=
xmlns:ex12m=3D"http://schemas.microsoft.com/exchange/service s/2006/messag=
es" =
xmlns:pptsl=3D"http://schemas.microsoft.com/sharepoint/soap/ SlideLibrary/=
" =
xmlns:spsl=3D"http://microsoft.com/webservices/SharePointPor talServer/Pub=
lishedLinksService" xmlns:Z=3D"urn:schemas-microsoft-com:" =
xmlns:st=3D"" xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
[at] font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
[at] font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
..MsoChpDefault
{mso-style-type:export-only;}
[at] page Section1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal>Hi All,<o:p></o:p></p>

<p class=3DMsoNormal><o:p> </o:p></p>

<p class=3DMsoNormal>Can anyone explain to me why I get the =
error:<o:p></o:p></p>

<p class=3DMsoNormal><o:p> </o:p></p>

<p class=3DMsoNormal>Can't call method "g_bind" without a =
package or
object reference at C:\scripts\Error Code\listbox_error.pl line =
17.<o:p></o:p></p>

<p class=3DMsoNormal><o:p> </o:p></p>

<p class=3DMsoNormal>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. =
<o:p></o:p></p>

<p class=3DMsoNormal><o:p> </o:p></p>

<p class=3DMsoNormal><o:p> </o:p></p>

<p class=3DMsoNormal>use Tkx;<o:p></o:p></p>

<p class=3DMsoNormal>my $mw =3D =
Tkx::widget->new(".");<o:p></o:p></p>

<p class=3DMsoNormal>$mw->g_wm_title("Test =
Program");<o:p></o:p></p>

<p class=3DMsoNormal>(my $nb =3D $mw->new_ttk__notebook(-height =
=3D> 768,
-width =3D> 1024))->g_grid();<o:p></o:p></p>

<p class=3DMsoNormal>testtab1();<o:p></o:p></p>

<p class=3DMsoNormal>testtab2();<o:p></o:p></p>

<p class=3DMsoNormal>Tkx::MainLoop();<o:p></o:p></p>

<p class=3DMsoNormal>sub testtab1 {<o:p></o:p></p>

<p class=3DMsoNormal>    $tab1 =3D =
$nb->new_ttk__frame(-padding
=3D> "10");<o:p></o:p></p>

<p class=3DMsoNormal>    $userbox =3D
$tab1->new_tk__listbox(-height =3D> 20,
-listvariable=3D>\$cnames)->g_grid(-column=3D>1,-row=3D>1);<o=
:p></o:p></p>

<p class=3DMsoNormal>    <o:p></o:p></p>

<p class=3DMsoNormal>   
$userbox->g_bind("<<ListboxSelect>>", sub
{GetSecurity()});<o:p></o:p></p>

<p class=3DMsoNormal>    $nb->add($tab1, -text =3D> =
'Test
Tab', -state=3D>'hidden');<o:p></o:p></p>

<p class=3DMsoNormal>}<o:p></o:p></p>

<p class=3DMsoNormal> [at] countrynames =3D ("Argentina",
"Australia", "Belgium", "Brazil",
"Canada", "China", "Denmark", =
<o:p></o:p></p>

<p class=3DMsoNormal>       
"Finland", "France", "Greece", =
"India",
"Italy", "Japan", "Mexico",
"Netherlands", "Norway", "Spain", =
<o:p></o:p></p>

<p class=3DMsoNormal>       
"Sweden", "Switzerland");<o:p></o:p></p>

<p class=3DMsoNormal>$cnames =3D ''; foreach $i ( [at] countrynames) {$cnames =
=3D $cnames
.. ' {' . $i . '}';};<o:p></o:p></p>

<p class=3DMsoNormal>sub GetSecurity {<o:p></o:p></p>

<p class=3DMsoNormal>    my $u;<o:p></o:p></p>

<p class=3DMsoNormal>    my [at] idx =3D =
$userbox->curselection;<o:p></o:p></p>

<p class=3DMsoNormal>    if ($#idx=3D=3D0) =
{<o:p></o:p></p>

<p class=3DMsoNormal>        $u =3D
$countrynames[$idx[0]];<o:p></o:p></p>

<p class=3DMsoNormal>    }<o:p></o:p></p>

<p class=3DMsoNormal>    print =
"$u\n";<o:p></o:p></p>

<p class=3DMsoNormal>}<o:p></o:p></p>

<p class=3DMsoNormal><o:p> </o:p></p>

<p class=3DMsoNormal>Thanks immensely for any help.<o:p></o:p></p>

<p class=3DMsoNormal><o:p> </o:p></p>

<p class=3DMsoNormal>Tony Bass<o:p></o:p></p>

</div>

</body>

</html>

------_=_NextPart_001_01C9DA76.95FBA3A4--

--===============1730517669==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
ActivePerl mailing list
ActivePerl [at] listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
--===============1730517669==--
Tony Bass [ Fr, 22 Mai 2009 02:45 ] [ ID #2002471 ]

RE: listbox error

From: activeperl-bounces [at] listserv.ActiveState.com
[mailto:activeperl-bounces [at] listserv.ActiveState.com] On Behalf Of Tony
W. Bass
Sent: 22 May 2009 01:45
To: activeperl [at] listserv.activestate.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');
> }
> [at] countrynames = ("Argentina", "Australia", "Belgium", "Brazil",
"Canada", "China", "Denmark",
> "Finland", "France", "Greece", "India", "Italy", "Japan",
"Mexico", "Netherlands", "Norway", "Spain",
> "Sweden", "Switzerland");
> $cnames = ''; foreach $i ( [at] countrynames) {$cnames = $cnames . ' {' .
$i . '}';};
> sub GetSecurity {
> my $u;
> my [at] 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 [at] listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Brian Raven [ Fr, 22 Mai 2009 12:08 ] [ ID #2002472 ]

RE: listbox error

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 [at] listserv.ActiveState.com
[mailto:activeperl-bounces [at] listserv.ActiveState.com] On Behalf Of Brian
Raven
Sent: Friday, May 22, 2009 3:09 AM
To: activeperl [at] listserv.activestate.com
Subject: RE: listbox error

From: activeperl-bounces [at] listserv.ActiveState.com
[mailto:activeperl-bounces [at] listserv.ActiveState.com] On Behalf Of Tony
W. Bass
Sent: 22 May 2009 01:45
To: activeperl [at] listserv.activestate.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');
> }
> [at] countrynames = ("Argentina", "Australia", "Belgium", "Brazil",
"Canada", "China", "Denmark",
> "Finland", "France", "Greece", "India", "Italy", "Japan",
"Mexico", "Netherlands", "Norway", "Spain",
> "Sweden", "Switzerland");
> $cnames = ''; foreach $i ( [at] countrynames) {$cnames = $cnames . ' {' .
$i . '}';};
> sub GetSecurity {
> my $u;
> my [at] 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 [at] listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________
ActivePerl mailing list
ActivePerl [at] listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Tony Bass [ Fr, 22 Mai 2009 17:36 ] [ ID #2002473 ]
Perl » gmane.comp.lang.perl.active-perl » listbox error

Vorheriges Thema: Calendar in Tkx
Nächstes Thema: Need help for open source and diagramming research