HasanCAD 发表于 2015-7-29 15:53:38

这个消息是什么意思?

使用blocktoxref将块转换为外部参照时,出现此消息。

**** Hidden Message *****

Matt__W 发表于 2015-7-29 16:04:23

> >链接(setq gc ... )

HasanCAD 发表于 2015-7-29 16:06:34

那么我应该这样做吗?
(setq gc nil )

dgorsman 发表于 2015-7-29 17:06:51

Ahhhh,不是,“gc”是一个命名函数ie。(gc)所以它应该*永远不*被用作变量名。除非你确定没有任何东西真正调用这个函数。即使这样,它也只是一个坏主意,就像do(setq defun nil)一样。

Kerry 发表于 2015-7-29 17:30:53

那么我应该这样做吗
(setq gc nil )
<br>绝对不是-如果你这样做了,你会收到同样的错误;相反,您应该尝试确定问题的根源
在简要检查BLOCKTOXREF
命令的代码时,问题似乎源于blocktoxrefsup第233行定义的
acet BLOCKTOXREF复制层道具
函数。lsp
文件:此函数将符号“
gc
”声明为局部变量,并在每个
>循环中使用此受保护符号
我建议将第233行和第277行之间出现的所有符号“
gc
”替换为“gcc
”(或任何尚未使用的未受保护的符号)。

Kerry 发表于 2015-7-29 17:35:38


这似乎不必要的复杂;为什么不是下面的?:
(pragma '((unprotect-assign Function01 Function02 theNumber)))
(类似于“保护-分配”)

Kerry 发表于 2015-7-29 21:39:30


是的,Lee,这将在所示的实例中工作。我只是在样本中插入了名字,而不是像我通常那样使用名字列表
我将函数名和变量分配给一个带引号的名称列表
这样会更经济一些。.使用带引号的名字列表
(setq funs '(Function01 Function02 theNumber Function03 Function04 Function04 Function06 Function07 Function08 ;; etc etc))

(eval (list 'pragma (list 'quote (list (cons 'unprotect-assign funs)))))


;; define / declare stuff here


(eval (list 'pragma (list 'quote (list (cons 'protect-assign funs)))))

(setq funs nil)
自R14版使用Basis软件的VitalISP以来(在AutoDesk购买和修改该软件并将其重命名为VisualLisp之前),我基本上没有改变该方法

HasanCAD 发表于 2015-7-30 04:06:13

我不想费力地说明这一点,我仍然不认为需要
(eval(list 'pragma ... )))
构造 - 即使有符号列表,我也会使用:
(pragma (list (cons 'unprotect-assign funs)))

Matt__W 发表于 2015-7-30 05:03:53


你试过Lee吗??

HasanCAD 发表于 2015-7-30 05:30:34


你试过那个李吗?

否(目前无法访问CAD) - 只需遵循逻辑(列出“引用”(列表(缺点“取消保护 - 分配乐趣))))应该返回
页: [1] 2
查看完整版本: 这个消息是什么意思?