Ich verwende asyncOutput an mehreren Stellen zur Ausgabe von Meldungen an den Nutzer. Bei "set" Befehlen funktioniert das auch gut.
Bei "attr" hingegen wird das Fenster lediglich für den Bruchteil einer Sekunde dargestellt.
Woran kann das liegen?
Hintergrund: Beim Setzen eines Attributs möchte ich eine Warning-Message anzeigen. Das Attribut soll aber gesetzt werden. Daher scheidet die Rückgabe der Warning aus der Funktion Attr aus.
ZitatBei "attr" hingegen wird das Fenster lediglich für den Bruchteil einer Sekunde dargestellt.
Die Seite wird beim Anlegen / Aendern eines Attributes neu geladen, weil womoeglich eine neue Zeile in der Attribut-Tabelle angezeigt werden muss, und das JavaScript den inneren Aufbau der Tabellen nicht kennen will.
Workaround:
my $cl = $hash->{CL};
InternalTimer(time()+1, sub {asyncOutput($cl,"Warning")}, undef, 1);
Fast noch besser ;):
my $cl = $hash->{CL};
InternalTimer(gettimeofday()+1, sub {asyncOutput($cl,"Warning")}, undef, 1);