sunstart 发表于 2010-6-7 15:49:00

[求助]VLISP工程编译时"死机"问题

<p>在使用VLISP功能编译时遇到一些怪问题,向论坛的朋友中请教下。</p>
<p>&nbsp;</p>
<p>例1:</p>
<p>&nbsp;</p>
<p><font face="Verdana">&nbsp;&nbsp; ;;如果图例文件.DWG已经存在,确认是否覆盖<br/>&nbsp;&nbsp; (if (findfile fspec)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;(princ ".")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;(setq msgtemp (strcat "【" dname "】图形文件已存在,是否覆盖?"))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq isReblock (yes_no (strcat "【" dname "】图形文件已存在,是否覆盖?")))&nbsp;;;编译出错处<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )&nbsp;<br/>&nbsp;&nbsp; );if&nbsp;<br/>&nbsp;&nbsp;&nbsp;</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;</font></p>
<p><font face="Verdana">&nbsp;&nbsp; 上述函数加载成功,但是工程编译到此函数文件时,VLISP“死机”</font></p>
<p>&nbsp;&nbsp; (yes_no是自定义函数)</p><font face="Verdana">
<p><br/>&nbsp;&nbsp;&nbsp;做如下改动:<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp; ;;如果图例文件.DWG已经存在,确认是否覆盖<br/>&nbsp;&nbsp; (if (findfile fspec)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (princ ".")&nbsp;&nbsp; ;;增加该行后,工程编译成功<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;(setq msgtemp (strcat "【" dname "】图形文件已存在,是否覆盖?"))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq isReblock (yes_no (strcat "【" dname "】图形文件已存在,是否覆盖?")))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )&nbsp;<br/>&nbsp;&nbsp; );if </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp; 增加一行(princ ".")&nbsp;&nbsp; 后,工程编译成功</p>
<p>&nbsp;</p>
<p>虽然工程编译通过,疑惑的是造成VLISP“死机”的原因是什么?</p>
<p>&nbsp;</p>
<p></font>&nbsp;</p>

sunstart 发表于 2010-6-7 15:52:00

<p><font face="Verdana">例2:<br/>&nbsp;&nbsp; (setq cStartLevel (ureal 1 "" "起点标高 " v_StartLevel)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cEndLevel&nbsp;&nbsp; (ureal 1 "" "终点标高 " v_EndLevel)<br/>&nbsp;&nbsp; )&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/></font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">&nbsp; ===〉</p>
<p><br/>&nbsp;&nbsp; (setq ind_StartLevel (ureal 1 "" "起点标高 " v_StartLevel)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ind_EndLevel&nbsp;&nbsp; (ureal 1 "" "终点标高 " v_EndLevel)<br/>&nbsp;&nbsp; )&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp; 修改变量名称后,编译通过。&nbsp;<br/></p></font>

loofs 发表于 2012-5-13 08:58:12

有同感。在CAD2008版本以上都出现类似的问题。苦闷!有谁知道什么原因?
页: [1]
查看完整版本: [求助]VLISP工程编译时"死机"问题