Thema Uhren-Installation

Startseite Foren Deutsches LiveCode-Forum Thema Uhren-Installation

Schlagwörter: , ,

Ansicht von 9 Antwort-Themen
  • Autor
    Beiträge
    • #37666
      Manni
      Teilnehmer

      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

    • #37670
      Klaus Major
      Verwalter

      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

    • #37681
      Manni
      Teilnehmer

      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 uhrAktualisieren

      field „uhr“
      on mouseUp
      set the twelveHourTime to false
      uhrAktualisieren
      end mouseUp

      Das 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 milliseconds

      end uhrAktualisieren

      Ich erhalte folgende Fehlermeldung:
      stack „Uhr2“: execution error at line 2 (Chunk: no such object), char 8

      Habe ich etwas übersehen? Wo liegt mein Fehler?
      Kann Du Dich der Sache noch einmal annehmen?
      Für Deine Mühe dankend

    • #37682
      Klaus Major
      Verwalter

      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.de

      Ansonsten wird es ewig dauern, bis wir das hier im Forum rausbekommen würden…

      Gruß

      Klaus

    • #37684
      Klaus Major
      Verwalter

      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!

    • #37686
      Klaus Major
      Verwalter

      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.

    • #37692
      Manni
      Teilnehmer

      Hallo Klaus,
      der stack ist per mail an Dich rausgegangen.
      Zu Deinen Fragen:
      Ich möchte in der Endphase Zeitausgaben auf unterschiedlichen Cards programmieren.

    • #37695
      Klaus Major
      Verwalter

      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
    • #37697
      Manni
      Teilnehmer

      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 2

      send „uhrAktualisieren“ to this stack in 250 milliseconds
      end uhrAktualisieren

      ist das so ok?

    • #37698
      Klaus Major
      Verwalter

      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. 🙂

Ansicht von 9 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.