- UID
- 2299
- 积分
- 465
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-1-31
- 最后登录
- 1970-1-1
|
发表于 2003-8-19 23:59:20
|
显示全部楼层
Re: [求助]:commands may not be nested more than 4 deep
最初由 catwang_G 发布
[B]r14,为什么有时候我在执行某个命令时会出现以下错误信息:commands may not be nested more than 4 deep.
它的意思应该是命令嵌套不能超过4层。但对它这个嵌套我不太理解。是一个命令里调用了超过4命令?应该不会。... [/B]
与R14无关的,在R15中也有可能出现.
你看看下面就知道原因了.
[B]Note[/B]
The acedCommand() function supports re-entrance up to four levels deep. AutoLISP does not support re-entrance, so if acedCommand() is called from within a function that has been executed via the AutoLISP/acedDefun() interface, there is no need to worry about re-entering acedCommand(). Commands registered via acedRegCmds->addCommand(), however, do support re-entrance and there is no way to determine how many levels of re-entrance are currently in effect to avoid exceeding the limit of four levels. If you must use acedCommand() in functions registered via acedRegCmds->addCommand(), you can avoid exceeding the re-entry limit of four levels, if you:
1. Do not use acedCommand() in functions registered as ACRX_CMD_TRANSPARENT
2. Do not use acedCommand() to execute any other commands registered via acedRegCmds->addCommand()
3. Do not use acedCommand() to execute anything that will allow user interaction
你多半是在命令函数中没有正确使用acedCommand / ads_command,违背上面的3条 |
|