On Wed, 17 Jul 2002 21:25:58 +0200 (CEST)
"Heinz W. Pahlke"
Hallo Bernd,
On 17-Jul-2002 Bernd Obermayr wrote:
versuchs mal mit if { ${phone} == {0192658} } {
Und schon klappt es - fast :-)
Error: "Can't read 'phone': no such variable".
Das habe ich schon fast befuerchtet. Irgendwo wird vorher die Variable bereits wieder geloescht. Aber wo?
Der Ablauf:
set infodev /dev/isdninfo set infodevfp "" ... proc getinfo {} { global infodev infodevfp is withselect ... if {$havetoread} { gets $f is(idmap) gets $f is(chmap) gets $f is(drmap) gets $f is(usage) gets $f is(flags) gets $f is(phone) } if {$havetoclose} { close $f ... getinfo set flist [lreplace $is(flags) 0 0] set ulist [lreplace $is(usage) 0 0] set ilist [lreplace $is(chmap) 0 0] set rlist [lreplace $is(phone) 0 0] ... getinfo if [info exists is(flags)] { set flist [lreplace $is(flags) 0 0] set ulist [lreplace $is(usage) 0 0] set rlist [lreplace $is(phone) 0 0] ...
Ich weiss nicht, ob obige Fragmente ausreichen, aber fuer mich sieht das so aus, als wuerde $phone bis zum Ende existieren.
Hi, ich bin ja auch ein Esel ;) Ich habs ja vorher schon gesehen, aber der Fehler ist mir nicht aufgefallen... $phone gibts nicht... aber $is(phone) <--- Array! Oft hat die Fehlermeldung auch einen anderen Grund: NameSpace tcl/tk ist da heikel. Entweder wird eine Variable aus dem uebergeordneten Namespace via global name in den aktuellen Namespace gehievt, oder via ubvar/uplevel (siehe manpage)
Wenn es eine Moeglichkeit gaebe, das Script in Einzelschritten durchlaufen zu lassen, waere es bestimmt leichter, den Knackpunkt zu finden, aber TclTk scheint diese Moeglichkeit nicht zu kennen. Jedenfalls finde ich nichts.
Irgendwo gibts tuba (SuSE 8.0?) ein tcl debugger. Ich helfe mir mit puts Anweisungen, das geht auch. Also script aus einem xterm starten und dann die Ausgaben auswerten. Doku ist etwas schwierig, es gibt widgets = GUI fuer Demoscripts, und tclhelp = GUI fuer manpages. Dann gibts noch tkman ist ganz brauch- bar fuer manpages aber ein bisschen zickig. Aber eine anstaendige FAQ oder eine gute Scriptsammlung fuer Einsteiger hab ich noch nicht gefunden. Es gibt schon Beispiele, die aber meistens im Zusammenhang mit einer C, Perl, etc. Schnitt- stelle und dann auch noch OO.... ist mir zu kompliziert ;)
AQber vielleicht koenntest du oder jemand anderes mal einen Blick auf das Script werden? Ich habe es einfach mal hochgeladen: http://www.pahlke-online.de/download/isdn
Mach ich mal. -- so long... bernd ------------------------------------------------------------------------