Startseite › Foren › Deutsches LiveCode-Forum › Thema Uhren-Installation
Schlagwörter: execution error, mehre cards, Uhr
- Dieses Thema hat 9 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 3 Jahren, 3 Monaten von Klaus Major.
-
AutorBeiträge
-
-
Oktober 12, 2021 um 21:33 Uhr #37666
Hallo Leute,
ich bin ganz neu in diesem Forum und ich hoffe ich bin in
der richtigen Rubrik.
Meine Programmierkenntnisse sind gleich Null und
ich kämpfe mich recht und schlecht durch das Buch
„Eigene Apps programmieren“von Hauke Fehr.
Wie das so ist, viele Dinge funktioniern ganz toll
und an anderen verzweifelt man regelrecht und will
dann eigentlich auf geben.Im erwähntem Buch habe ich mich mit der programierung
einer Uhr (Seite 255) befaßt. Eigentlich simbel.Mein Probelem beginnt wenn ich dem Stack eine zweite
Card hin zu füge. Der vorher einwand freie laufende
Anzeigeprozess wir unterbrochen field „uhr“ und die Meldung:execution error at line 3 (Handler: can’t find handler) near „uhraktualisieren“, char 1
wird angezeigt.
Lösche ich die neue Card funktioniert das Programm wie beschrieben.
Was mache ich falsch? Es muß doch möglich sein die Funktion einer Zeitanzeige
auch beim einsatz von mehrenen Karten zu erziehlen.Es wäre sehr nett wenn ich hier eine Antwort auf meine Frage bekommen könnte.
Ich danke den Experten für Ihre Mühe.
Grüsse Manni -
Oktober 12, 2021 um 22:08 Uhr #37670
Hallo Manni,
willkommen im Forum!
Sofern Du nicht explizit auf die eine Karte im Skript zugreifst***,
sollte es funktionieren, wenn Du den/die entsprechenden Handler
ins STACK-Skipt statt ins KARTEN-Skript legst!***Beispiel
...into fld "uhrzeit" OF THIS CD ## oder OF CD 1
Auf der neuen Karte findet LC diese Skript(e) nicht, daher die
berechtigte Fehlermeldung.Gruß
Klaus
-
Oktober 13, 2021 um 10:46 Uhr #37681
Hallo Klaus,
besten Dank für Deine schnelle Antwort, ich bin begeistert, damit habe ich nicht gerechnet.
Leider führt die Anwendung Deines Vorschlages nicht zum Erfolg.
Ich habe folgende Einträge:
stack“Uhr2″
on uhrAktualisieren
put the long time into fld „uhr“
send uhrAktualisieren to this stack in 250 milliseconds
end uhrAktualisierenfield „uhr“
on mouseUp
set the twelveHourTime to false
uhrAktualisieren
end mouseUpDas Programm läuft !
Ich erweitere den Stabel mit einer neuen Card
und ändere entsprechend deinem Vorschlag:stack“Uhr2″
on uhrAktualisieren
put the long time into fld „uhr“ of This CD (of CD2)
send uhrAktualisieren to this stack in 250 millisecondsend uhrAktualisieren
Ich erhalte folgende Fehlermeldung:
stack „Uhr2“: execution error at line 2 (Chunk: no such object), char 8Habe ich etwas übersehen? Wo liegt mein Fehler?
Kann Du Dich der Sache noch einmal annehmen?
Für Deine Mühe dankend -
Oktober 13, 2021 um 11:34 Uhr #37682
Hi Manni,
besten Dank für Deine schnelle Antwort, ich bin begeistert, damit habe ich nicht gerechnet.
ich wohne hier, daher… 😀
Wichtiger Tip:
Eigennamen, auch die Namen der Handler, die Du SENDen möchtest immer in Anführungszeichen.
-> send „uhrAktualisieren“ to this stack in 250 milliseconds
Das ist aber nicht das Problem.Am schnellsten ginge es, wenn Dur mir den Stack zuschickst und ich mal eben reinschaue!
Falls genehm -> klaus AT major-k.deAnsonsten wird es ewig dauern, bis wir das hier im Forum rausbekommen würden…
Gruß
Klaus
-
Oktober 13, 2021 um 12:04 Uhr #37684
Zwei Fragen:
1. Wird die Uhr NUR auf der ersten Karte dargestellt?
2. Oder soll sie auf den anderen Karten auch sichtbar sein?Fall 1. dann reicht es sicher, wenn Du schreibst:
... put the long time into fld "uhr" of cd 1 ...
Wenn Du die korrekte Adresse angibst, kommt der Befehl auch an!
Wie im richtigen Leben!
Wenn wir in Deinem Arbeitszimmer stehen und Du sagst mir:
„Gib mir mal eben den Block vom Schreibtisch!, gebe ich ihn Dir
Stehen wir aber in Deinem Badezimmer, frage ich zu Recht,
welcher Schreibtisch, und LC meckert swofort aber nicht unbegründet los:
No such object/Kein Schreibtisch, verdammich! -
Oktober 13, 2021 um 12:07 Uhr #37686
Mein kleines Skriptfragment war nur ein BEISPIEL, ob Du so etwas geschreiben hattest! 😎
...into fld "uhrzeit" OF THIS CD ## oder OF CD 1
… OF THIS CARD -> bedeutet auf der aktuellen (= gerade angezeigten) Karte
… OF CD 1 -> ist eine genaue Adresse, die LC dann auch findet und nicht meckert. -
Oktober 13, 2021 um 12:33 Uhr #37692
Hallo Klaus,
der stack ist per mail an Dich rausgegangen.
Zu Deinen Fragen:
Ich möchte in der Endphase Zeitausgaben auf unterschiedlichen Cards programmieren. -
Oktober 13, 2021 um 12:42 Uhr #37695
OK, Stack ist eingegangen und gefixed! 🙂
Wie ich es vermutet habe, lag es an der flaschen „Adresse“ für den Befehl.
Das hier hat die Sache gefixed:on uhrAktualisieren ## OF CD 1 fehlte hier! put the long time into fld "uhr" of cd 1 send "uhrAktualisieren" to this stack in 250 milliseconds end uhrAktualisieren
-
Oktober 13, 2021 um 13:11 Uhr #37697
Besten Dank !
ich probiere die Sache aus.
Wenn nun Zeit auch auf anderen Carten gezeigt werden soll, folgere ich:on uhrAktualisieren
put the long time into fld „uhr“ of cd 1
put the long time into fld „uhr2“ of cd 2send „uhrAktualisieren“ to this stack in 250 milliseconds
end uhrAktualisierenist das so ok?
-
Oktober 13, 2021 um 13:30 Uhr #37698
Ja, so ist das OK!
Allerdings kannst Du auch das selbe Feld auf verschiedenen Karten nutzen,
aber so wie beschrieben klappt es natürlich auch.
Das soll erst einmal reichen. 🙂
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.