(in-package :custom) (use-package :oli) ; "list" of module names : %Modeling_Dir%\personality\sd_customize\all_modules.dat (let ((pw-module-event-handler-load-time nil) (pw-module-event-handler-expire-time 600)) ;in seconds (defun pw-module-event-handler-start (&rest args) (declare (ignore args)) (setf pw-module-event-handler-load-time (get-universal-time)) (sd-unsubscribe-event *SD-INTERACTIVE-EVENT* 'pw-module-event-handler) (sd-subscribe-event *SD-INTERACTIVE-EVENT* 'pw-module-event-handler) ;Meldung bei Modulstart (sd-display-message (format nil "Es wurde eine Hoechsthaltezeit von 10 Minuten fuer diese Lizenz festgelegt.~%Nach Ablaufen dieser Zeitspanne entlaedt sich das Modul automatisch.")) ) (defun pw-module-event-handler-stop (&rest args) (declare (ignore args)) (sd-unsubscribe-event *SD-INTERACTIVE-EVENT* 'pw-module-event-handler) (setf pw-module-event-handler-load-time nil) ) (defun pw-module-event-handler (&rest args) (declare (ignore args)) (when pw-module-event-handler-load-time (when (> (- (get-universal-time) pw-module-event-handler-load-time) pw-module-event-handler-expire-time) (sd-module-deactivate "PART_LIBRARY") )) ) ) (sd-unsubscribe-event (sd-module-activation-event "PART_LIBRARY") 'pw-module-event-handler-start) (sd-unsubscribe-event (sd-module-deactivation-event "PART_LIBRARY") 'pw-module-event-handler-stop) (sd-subscribe-event (sd-module-activation-event "PART_LIBRARY") 'pw-module-event-handler-start) (sd-subscribe-event (sd-module-deactivation-event "PART_LIBRARY") 'pw-module-event-handler-stop)