error message on file open
I occasionally get the below error message when opening a drawing.
The only way to fix it is to restart BricsCAD.
I cannot find this in any of our custom lisp files.
Does anyone have any suggestions.
Craig
Version 21.2.02 (x64) revision b633b408
; ----- Error around expression -----
; (DEFUN BMLISPGET REST (AL_LEAVEDEFUN (AL_ENTERDEFUN 'BMLISPGET '(&REST REST) 'NIL) (LET ((&REST &REST) (REST REST)) (AL_EXECUTEADSDEFUN BMLISPGET REST))))
;
; error : Unknown Error in Lisp or CAD system or 'Stack Overflow'
; ----- Error around expression -----
; (PRINC)
;
; error : Unknown Error in Lisp or CAD system or 'Stack Overflow'
Comments
-
I'm having the same types of errors in 21.2.03-1. Most of the lisp I use has been in use for quite some time and it worked reliably in V-20 so I don't think it is the lisp code. I will file a bug report.
0 -
Stay tuned, there is a hotfix coming to address this 21.2.03 regression.
0 -
Thanks Owen
0 -
Dear Craig,
by some bad coincidence, that fix for the mentioned (strange) Lisp error message was not included in latest V21.2.04 ... but it is marked for V21.2.05, coming next.
As far as we know, that error only happens when BLADE is open, and a new or existing drawing gets opened.
many greetings !0 -
Thanks for the update Torsten
0 -
I got the same error using an error handling function. When i provoke an error while using my function FuncXX, it executes the Funcfin function fine but then sends me the error mentionned in this thread.
I'm using Version 21.2.05 (x64) revision c77687b2
(DEFUN Funcfin () (SETVAR "CMDECHO" 0) (COMMAND "EndUndo") (setq *error* nil) (PRINC) );---- (DEFUN FuncXX (/) (defun *error* ( msg ) ; ERROR HANDLING (Funcfin) (if (not (member msg '("Function cancelled" "quit / exit abort"))) (princ (strcat "\nErreur obtenue: " msg))) (princ)); END ERROR HANDLING (SETVAR "CMDECHO" 0) (COMMAND "SetUndo") ;REST of code... )
EDIT :
1- Seems related to the fact of calling commands in the error trapper... according to this topic
2 - Confirmed. You need to use (command-s) calls instead of (command) in an error handler.My post is then unrelated to the topic. sorry!
0 -
@1LandSurveyor said:
EDIT :
1- Seems related to the fact of calling commands in the error trapper... according to this topic
2 - Confirmed. You need to use (command-s) calls instead of (command) in an error handler.My post is then unrelated to the topic. sorry!
The command calls
(COMMAND "EndUndo")
&(COMMAND "SetUndo")
don't look right. These aren't standard commands. If you have defined these using LISP, then you should call them as such e.g.(C:EndUndo)
.Within these functions you could use visual lisp to set undo marks, which avoids the need to make command calls. e.g.
(defun C:SETUNDO ( / oDoc) (setq oDoc (vla-get-ActiveDocument (vlax-get-acad-object))) ;get current drawing object (vla-EndUndoMark oDoc); Make sure any existing undo marks are ended (vla-StartUndoMark oDoc ) ; Start Undo Mark (princ "\nSTART Undo Mark") (prin1) ) (defun C:ENDUNDO ( / oDoc) (setq oDoc (vla-get-ActiveDocument (vlax-get-acad-object))) ;get current drawing object (vla-EndUndoMark oDoc); Make sure any existing undo marks are ended (princ "\nEND Undo Mark") (prin1) )
Regards,
Jason Bourhill
BricsCAD V21 Ultimate
CAD Concepts0 -
Thanks @Jason Bourhill . You are totally right. Those calls as well were an irregularity...
0