PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl/Tk: Button-Command wird automatisch ausgeführt



TB09
01-12-2010, 12:37
Hallo zusammen,

ich verstehe folgenden Zusammenhang nicht! Ich habe ein perl/Tk Skript erstellt. Beim Ausführen des Skripts, wird der Button-Command beim Erstellen des GUIs automatisch ausgeführt und ich weiß nicht wieso. Der entsprechende Perl Code sieht wie folgt aus:


$tool_dep_but[$i] = $frml -> Button(-text => "Get Info/Help!", -command => \&Info(\$frml,\$lab_of_scripts{$ts_be_sel}[$i]));

sub Info {
my $motherwin_ref=$_[0];
my $text_ref=$_[1];
$$motherwin_ref->messageBox (-message => "$$text_ref");
my $sw = new MainWindow; }


Der folgende Code funktioniert jedoch:



$tool_dep_but[$i] = $frml -> Button(-text => "Get Info/Help!", -command => \&TEST)

sub TEST {
print "TEST\n";
}



Kann mir irgendjemand sagen, wo der Fehler liegt?

Vielen Dank,

Thomas

TB09
02-12-2010, 07:38
Ich habe den Fehler gefunden, es lag an der Übergabe der Parameter für die sub-function:

Lösung:



$tool_dep_but[$i] = $frml -> Button(-text => "Get Info/Help!", -command => [\&Info, \$frml,\$lab_of_scripts{$ts_be_sel}[$i]]);



Besten Dank an alle, die sich Zeit genommen haben über mein Problem nachzudenken!

Gruß,

Thomas