Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]4859[/thread]

Optionmenu - Werte binden: mittels -variable



<< >> 3 Einträge, 1 Seite
pktm
 2005-01-28 16:39
#42830 #42830
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!

Ich erzeuge ein Optionmenu mittels einer Sub:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sub defineDBFieldsOptionMenu {
my ($top, $bindSelectedValue, $bindSelectedTextlabel, $optionSet) = @_;

my $opt = $top->Optionmenu(
-options => $optionSet,
-command => sub {
print "got: ", shift, "\n", "val: $bindSelectedValue\n";
print "hashval: " . $obj->{'entryFrame'}->{'feld'}->{'bindSelectedValue'} . "\n";
},
-variable => \$bindSelectedValue,
-textvariable => \$bindSelectedTextlabel
);

return $opt;
} # /defineDBFieldsOptionMenu


Dieser übergebe ich das Widget in dem das Menu erzeugt werden soll, die beiden Variablen in denen der jeweils aktuelle Wert gespeichert werden soll und die Auswahlmöglichkeiten.

Nur bleiben die der Sub übergebenen Variablen leer.
Mache ich bei der übergabe was falsch (bitte nicht auf perldoc sub oder so verweisen, thx)?

Ich mein, natürlich könnte man sowas auch mit dem command-parameter machen, aber das ist glaube ich nicht Sinn und Zweck der Sache.

mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
esskar
 2005-01-28 22:04
#42831 #42831
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ja, du übergibst falsch!
du bindest an $bindSelectedValue und $bindSelectedTextlabel
, die jedoch nur in der sub definiert sind

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
sub defineDBFieldsOptionMenu {
  my ($top, $refbindSelectedValue, $refbindSelectedTextlabel, $optionSet) = @_;

  my $opt = $top->Optionmenu(
      -options => $optionSet,
      -command => sub {
          print "got: ", shift, "\n", "val: $bindSelectedValue\n";
          print "hashval: " . $obj->{'entryFrame'}->{'feld'}->{'bindSelectedValue'} . "\n";
      },
      -variable => $refbindSelectedValue,
      -textvariable => $refbindSelectedTextlabel
  );
 
  return $opt;
} # /defineDBFieldsOptionMenu


defineDBFieldsOptionMenu ($top, \$value, \$label, $options);


verstanden?\n\n

<!--EDIT|esskar|1106942682-->
pktm
 2005-01-28 23:06
#42832 #42832
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hm, das habe ich auch probiert, bei meinem Versuch ging es irgendwie nicht.
Wahrscheinlich habe ich irgendwas falsch gemacht / was vergessen.
thx & mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
<< >> 3 Einträge, 1 Seite



View all threads created 2005-01-28 16:39.