Live-Code 8.19: Keine Handler bei Wigdets

Startseite Foren Deutsches LiveCode-Forum Live-Code 8.19: Keine Handler bei Wigdets

Ansicht von 3 Antwort-Themen
  • Autor
    Beiträge
    • #6168
      Alfredas
      Teilnehmer

      Windows 8.1 Pro, Live-Code 8.19 Communitiy

      Hallo,

      bei der Durcharbeitung des Einsteiger-Buches kam es immer wieder vor, dass ich keine Widgets nutzen konnte, weil es keine Handler wie „Mouse-up“ gab. Ich habe dann Buttons als Ersatz nehmen müssen.

      Ich habe über die Live-Code-Seite die neueste Version runter geladen, die mit 9.0 ausgezeichnet war, aber es blieb bei 8.19. Danach fragte das LC bei jedem Laden eines Programmes, ein Menü an in der gefragt wurde ob die Widgets und anderes, dessen Begriff ich nicht mehr weiß, angepasst werden sollen. Ich habe dass immer bestätigt, aber benützt hat es nichts.

      Kann es sein, dass die Widgets für die Community-Version gesperrt sind oder für diese spezielle Version? Kann man 8.2 oder höher auch schon als Community-Version bekommen und wo?

      Würde mich freuen, wenn ihr mir helfen könntet.

      Alfredas

    • #6184
      Klaus Major
      Verwalter

      Hallo Alfredas,

      ja, da hatte ich schon mal bei den Schotten mioniert, auch Widgets sollten zumindest auf „mouseup“ reagieren! Mal sehen, vielleicht bauen die das ja mal irgendwann ein.

      Aber Widgets können auch geschickt ge-script-ed werden, sie haben meist noch einen eingene Synstax bzw. Befehlssatz, welche(s) Widget(s) benutzt Du denn und was soll beim Klick passieren?

      Zu deinem anderen Problem fällt mir so nichts ein, ich weiß nur daß sich das Format der Widget zwischen LC 8 und 9 geändert hat und da gibt es bei Dir wohl ncoh en paar Widget-„Leichen“ im Keller?

      Hier gibt es übrigens immer allle aktuellen Version von LC:
      https://downloads.livecode.com/livecode/

      Hattest Du einen eigenen „Plugin“ Ordner in den LC Preferenzen angegeben?
      Wenn ja, den mal löschen oder umbenennen und LC erneut starten.

      Gruß

      Klaus

    • #6196
      Alfredas
      Teilnehmer

      Danke Klaus,

      habe jetzt die 9.0 Version runter geladen. Bei den Widgets gibt es immer noch keine Handler.
      Konkret brauche ich es nicht unbedingt, aber optisch finde ich die Sachen ansprechender als Icons in den Buttons. Eigentlich bin ich darauf gekommen, weil im Einsteiger-Buch Widgets benutzt wurden, aber bis auf einen Fall, keine Handler da waren.

      Aber es müsste ja auch gehen, dass man die Mouse-Up-Funktion über „If target = „“ im Stack setzen kann.
      Allerdings müsste ich dann wissen wie man ein Widget anspricht.
      So, wenn das Widget Symbol heißt?
      „If target = widget „Symbol“… oder kann man das abkürzen „If target = wid „Symbol“…?
      oder „If target = SVG Icon „Symbol“…?
      Oder ist es komplizierter?

      In dieser Hinsicht finde ich das Dictonary erschreckend schlecht gemacht. Es würde mir schon reichen, wenn man 5 oder 6 Beispiel-Codes dazu packen würde.

      Und im Live-Code-Wiki finde ich nur eine Beschreibung wie man eine eigene Widget erstellt, mit den Hinweis, dass das nichts für Anfänger ist.

      Auf jeden Fall noch mal Danke für die Hilfe und das andere wird sich schon finden.

      Viele Grüße

      Alfredas

    • #6198
      Klaus Major
      Verwalter

      Wie ich schon sagte, Widgets reagieren vielleicht nicht auf einen MOUSEUP Handler, aber dann haben sie eine andere Syntax, sie können also gescripted werden!

      Z.B. das Widget „Navigation bar“ hat eine Message „hiliteChanged“, die man so skripten kann:

      on hiliteChanged
         put the hilitedItem of me && the hilitedItemName of me
      end hiliteChanged

      Das von dir verwendete SVG Widget reagiert aber schon auf einen „Mouseup“ Handler!
      ———————————————————————————
      THE TARGET

      Du musst the short name of the target abfragen, in Deinem Beispiel -> Symbol
      THE TARGET liefert Art und Namen (MIT Gänsefüsschen!) des „Ziels“ -> widget „Symbol“

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