Schrift
[thread]5189[/thread]

destroy() auf alle widgets eines frames

Leser: 1


<< >> 4 Einträge, 1 Seite
styx-cc
 2006-05-20 20:35
#45476 #45476
User since
2006-05-20
533 Artikel
BenutzerIn

user image
Hallo, ich hab versucht, die Widgets eines Frames in einem Array zu sammeln und danach bei bedarf zu "zerstoeren" und wieder aufzubauen:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sub show_rooms {
my @rooms = &get_rooms;

for (@rooms) {
$_ = $left_frame -> Button(-text => $_) -> pack(-side => 'top', -anchor => 'center', -fill => 'x');
push(@left_frame_widgets, $_);
}
#$leftFrame -> Button(-text => 'Test') -> pack(-side => 'top', -anchor => 'center');

my $b1 = $left_frame -> Button(-text => 'Hinzufuegen', -command => sub{&add_room;}) -> pack(-side => 'left');
my $b2 = $left_frame -> Button(-text => 'Bearbeiten', -command => sub{&change_rooms('e');}) -> pack(-side => 'left');
my $b3 = $left_frame -> Button(-text => 'Entfernen', -command => sub{&dst_wg;}) -> pack (-side =>'left');#&change_rooms('d');}) -> pack(-side => 'left');
push(@left_frame_widgets, $b1, $b2, $b3);
}

sub dst_wg {
for (@left_frame_widgets) {
$_ -> destroy();
}
@left_frame_widgets = "";
}


Einmal loeschen geht, einmal neu Aufabuen auch, aber danach gibt es die Fehlermeldung:

Code: (dl )
1
2
3
4
5
6
7
stefan@static:~/programmierung/perl/lagerverwaltung$ perl lager.pl
Tk::Error: Can't call method "destroy" without a package or object reference at lager.pl line 95.
[\&main::__ANON__]
Tk callback for .frame.frame.button14
Tk::__ANON__ at /usr/lib/perl5/Tk.pm line 225
Tk::Button::butUp at /usr/lib/perl5/Tk/Button.pm line 111
(command bound to event)


Was das bedeutet ist mir mehr oder weniger klar, allerdings finde ich den Fehler/die passende Loesung nicht.

Bin fuer jede Hilfe dankbar Smilie

Mit freundliche Gruessen

P.s.:
Ich hab den Thread schon auf perl.de gepostet, aber da ich das Gefuehl hab, das hier mehr Leute vorbeischauen, probier ichs nochma :)
Pörl.
renee
 2006-05-20 20:56
#45477 #45477
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
sub dst_wg {
for (@left_frame_widgets) {
$_ -> destroy();
}
@left_frame_widgets = ();
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
styx-cc
 2006-05-20 21:05
#45478 #45478
User since
2006-05-20
533 Artikel
BenutzerIn

user image
[quote=renee,20.May.2006, 18:56]
Code: (dl )
1
2
3
4
5
6
sub dst_wg {
for (@left_frame_widgets) {
$_ -> destroy();
}
@left_frame_widgets = ();
}
[/quote]
Suupi :-))

Dankeschoen, wusste doch das dass nen doofer Fehler sein muss..
Vielen Dank nochma

mit freundlichen gruessen
Pörl.
renee
 2006-05-20 21:20
#45479 #45479
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Gern geschehen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 4 Einträge, 1 Seite



View all threads created 2006-05-20 20:35.