probier mal folgendes
ich habe mir eine TRY-Funktion geschrieben, die im fehlerfall nicht abbricht, sonder NIL zurückgibt.
wenn du jetzt dein command insert in eiene eigen sub gibst, kannst du dann , diesen fehler mit ESC mit meiner TRY-funktion abfangen
; hauptfunktion
(defun c:test (/)
(cond ((try 'insertblock (list "1")) (alert "OK"))
(t (alert "ABBRUCH"))
)
(alert "fertig") ; zum testen obs wirklich weietergeht
)
; funktion zum einfügen des blockes
(defun insertBlock ( blname /)
(command "._insert" blname pause 1 1 pause)
)
;
; Testroutine ergibt nil im Fehlerfall ansonst den Rückgabewert der zu testenden Funktion
; ist der Rückgabewert der Funktion auch im Erfolgsfall nil wird t zurückgegeben
;
; (try '+ (list 1 2 3 4 5 6)) ergibt 21
; (try '/ (list 5 0)) ergibt nil
;
(defun Try ( func arg / a1 a2 )
(setq a2 (vl-catch-all-error-p (setq a1 (vl-catch-all-apply func arg))))
(cond (a2 nil)
(a1 a1)
(t t)
)
)
------------------
***********************************************
AutoCad 2000i, 2002, 2004 deutsch und englisch
Windows 2000, NT, XP
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP