Thread return von subroutine mit frame (12 answers)
Opened by theresa at 2007-07-17 14:19

Gast Gast
 2007-08-21 01:57
#98454 #98454
läuft schon alles bei mir :)

hab nur noch ein kleines problem... zwar mit focus().

ich versuche es mal zu erklären. zuerst frage ich die logindaten ab. danach wird dies und das damit gemacht, und am ende musst ein fenster angezeigt werden, mit einem paar rückmeldungen.

der code für dieses fenster:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
sub infoFenster {

my $text = shift;

my $mw = tkinit();
my $sFenster = $mw -> Scrolled("Text", -scrollbars => 'e',-width =>60, -height=>20,) -> pack;
$sFenster->focus();
$sFenster->bind('<Any-KeyPress>', sub{$mw->destroy();});

$sFenster->insert('end', $text);

MainLoop;
}


so. wenn ich diesen code getrennt in einer datei teste, läuft alles, der focus funtioniert.

im "richtigen" skript soll es aber erst dann auftauchen, wenn die anmeldung geklappt oder man 3 fehlversuche gemacht hat...

also nach
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#...
anmeldeFenster();
sub anmeldeFenster {
#...
sub ok {
my $mw = shift;
my $fenster = shift;
my $user = $fenster->Subwidget('user_frame')->Subwidget('user')->get();
my $pass = $fenster->Subwidget('password_frame')->Subwidget('password')->get();
$mw -> destroy();
return ($user, $pass);
}
}
#...
infoFenster($text);


In diesem Fall bekommt das Fenster nicht das Fokus, obwohl der Code derselbe ist... liegt es vielleicht daran dass das $mw nicht ganz verschwunden ist?
mit withdraw hab ich auch versucht, ist aber nicht besser geworden.

View full thread return von subroutine mit frame