M_Simons 发表于 2022-7-6 08:34:37

c的数字错误:ace\u get\u w

有一个问题要问CAD天才们。。。我将此张贴在AutoDesk讨论板上,没有任何回应。
 
 
我正在编写一个巨大的autoLISP实用程序,我不断得到一个
 
; 错误:c:ace\u get\u wnum API中的参数类型错误:numberp:nil。
 
很难排除故障,因为它并非总是发生。这似乎发生在一个“新的”AutoCAD实例上,如果我打开项目范围的“实用程序”对话框,错误就会消失,我的程序运行正常。我所要做的就是打开对话框。这个对话框似乎加载了API需要的东西。我的程序在API崩溃之前将输入变量princ到该API,它似乎是对函数的正确输入,即:
 
; 错误:错误的参数类型:numberp:nil
 
因此,看起来函数获得了正确的实体名称,但似乎由于任何原因,它在API内部的某个地方失败了。有什么方法可以找出这个API失败的原因吗?
 
 
如果您能帮助消除此错误,我们将不胜感激。
 
仅供参考,我正在运行AutoCAD electrical 2009
 
谢谢

SLW210 发表于 2022-7-6 09:18:38

我已经将此移到AutoLISP、Visual LISP和DCL论坛。

M_Simons 发表于 2022-7-6 09:45:30

好的,我想我已经解决了这个问题。。。
 
经过一番挖掘,我发现了这一点;
 
c: ace\u get\u wnum API要求在API之前执行函数(wd\u cfg\u read\u dwg\u params)。我不完全确定这个函数做什么,我认为它读取WD\m块。无论如何,这个函数看起来不像是在ACE的“新”实例上执行的,所以我不得不在程序中调用它。
 
无论如何,你有它(如果其他人有同样的问题)。
页: [1]
查看完整版本: c的数字错误:ace\u get\u w