Ich habe ein kleines Progrämmchen, dass mir mit einem Reaktor die Systemvariable "worlducs" überwacht. Hier der Kern der Geschichte
Code:
(defun check-sysVarChanged (sysvarreactor name_sucessflag / )
(if (wcmatch (strcase (car name_sucessflag)) "*UCS*") ; wenn sich irgendeine UCS-Sysvar geändert hat, dann prüfe die WORLDUCS
(progn
(if (= (getvar "WORLDUCS") 0) ; WKS nicht aktiviert
(progn
(setq alarmmodus 1)
(princ)
)
(progn
(setq alarmmodus 0)
)
)
)
)
)
; Überwachungsfunktion - Reaktor laden, wenn die Ladevariable noch nicht gesetzt
(if (not *ucs_reactor*)
(setq *ucs_reactor* (vlr-sysvar-reactor nil '( (:vlr-sysVarChanged . check-sysVarChanged))))
; Reactor Type / Applic. Data / Reactor Event / Callback function
)
In Acad läuft es, in Bricscad 19 nicht. Da sich die Hilfe im Lisp-Developer Support Package hier sehr wortkarg zeigt - woran könnte das liegen? Mag Bricscad keine Reaktoren? Oder andere?
Präzisierung / Nachtrag:
Diverse UCS-Änderungen werden schon verarbeitet, aber mit dem "(if (= (getvar "WORLDUCS") 0)" klappt was nicht ..
------------------
Für jedes Problem gibt es eine einfache Lösung.
Die ist aber meistens falsch. ;-)
[Diese Nachricht wurde von Peter2 am 26. Nov. 2018 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP