Zitat:
Original erstellt von am:
;ModelManager customization delete
(add_toolbox_button "Toolbox"
:label (sd-multi-lang-string "ModelManager cust. delete" :german "ModelManager Anpassungen loeschen" :schinese "ModelManager cust. delete")
;; :action (sd-sys-exec "%SDCORPCUSTOMIZEDIR%\\tools\\BY_wmproperties_delete.cmd" )
:PushAction (sd-sys-exec "%SDCORPCUSTOMIZEDIR%\\tools\\BY_wmproperties_delete.cmd" )
)
Wenn du einen geklammerten Ausdruck hast ist ein 'complete' falsch. Wird aber von OSD friedfertig geschluckt. Also WECH damit!
Du rennst (denke ich) in das problem hinein WANN ein Kommando .. eine LISP form ausgeführt.
a) beim Laden .. oder
b) beim Ausführen
Du gibst add_toolbox_button einen Paramater (einen LISP Ausdruck) hinter dem keyword :PushAction ... der Wert der dort kommt wird evaluiert.. ... also es wird geguckt was der nächste LISP Ausdruck "bringt" . Deswegen wird der Ausdruck ausgeführt und der return wert diese Ausdrucks ist das was deine :Pushaction ist.
Hier kommt das 'quoting ins Spiel. Ein single Quote ' bedeutet (salopp ausgedrückt) nimm den nächsten lisp AUSDRUCK wie er da steht.. führe in JETZT (also zur Ladezeit) nicht aus.
Code:
(add_toolbox_button "Toolbox"
:label '(sd-multi-lang-string "ModelManager cust. delete"
:german "ModelManager Anpassungen loeschen")
:PushAction '(sd-sys-exec "%SDCORPCUSTOMIZEDIR%\\tools\\BY_wmproperties_delete.cmd" )
)
Der Unterschied ist:
- Mach beim LADEN was in dem Ausdruck steht.. oder
- Mach beim AUSFÜHREN was in dem Ausdruck steht.
Auf gut english:
evaluate at load-time or at run-time? Das single quote macht den kleinen, aber feinen Unterschied in dem Fall.
Wenn Du mal in der IKIT docu vom dialog generator guckst, wird du sehen das (fast) alle Ausdrücke auf toplevel gequotete Listen sind. ( hccchch menno.. ich weiss ich wie ich das für Euch einfacher beschreiben kann )...
------------------
● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ●
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP