明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1354|回复: 9

[讨论] 关于 read 的一个致命的问题!!

[复制链接]
发表于 2013-5-8 19:53 | 显示全部楼层 |阅读模式
本帖最后由 yxp 于 2013-5-8 20:15 编辑

(read "(1219 0 0 0)") 没问题。
(read "(1220 0 0 0)") 读不出来了,“显示应用程序错误: 参数类型错误”
从 1220 到 1239 , 后面的三个 0 改成任何数字结果都一样,但是如果减少或增加一个,问题又没了。
(read "(1240 0 0 0)") 也没问题

用 list 也一样错误
(list '(1220 0 0 0))  错误
(list 1220 0 0 0)   返回也是错误
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-5-8 21:24 | 显示全部楼层
在Visual LISP控制台中未出现错误
_$ (list '(1220 0 0 0))  
((1220 0 0 0))

_$ (list '(1220 0 0 0))
((1220 0 0 0))
发表于 2013-5-8 21:28 | 显示全部楼层
程序中也没有报告错误

  1. (defun c:test()
  2.    (setq a (read "(1220 0 0 0)"))
  3.    (setq b (list '(1220 0 0 0)) )
  4.    (princ)
  5. )
发表于 2013-5-9 08:31 | 显示全部楼层
论坛早有类似的讨论
发表于 2013-5-9 21:07 | 显示全部楼层
发表于 2021-10-27 09:16 | 显示全部楼层
ACAD2008确实如此,用acad2018不再出现这个错误。看来是软件的bug,桌子已修正。
发表于 2021-10-27 09:58 | 显示全部楼层
好在这个BUG
只是在命令行中直接运行时才会出现错误提示
程序中并不会出现错误提示
也不会引起运行中断
否则如果是一个复杂的程序中出现这类错误
光看代码是怎么也查不出错误的
发表于 2021-10-27 09:59 | 显示全部楼层
突然想到一个问题
既然这类错误在程序运行中不会出现错误提示
那当年我的测试程序是怎么编出来的?
发表于 2021-10-28 14:57 | 显示全部楼层
baitang36 发表于 2021-10-27 09:16
ACAD2008确实如此,用acad2018不再出现这个错误。看来是软件的bug,桌子已修正。

2016没出现,2014会出现,没装2015。
估计这个与unicode 有关。
发表于 2021-10-28 15:47 | 显示全部楼层
highflybird 发表于 2021-10-28 14:57
2016没出现,2014会出现,没装2015。
估计这个与unicode 有关。

跟踪了一下这个函数,函数list部分没错误,能返回正常的cons链表,是和lsp的接口部分出错了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-2 11:28 , Processed in 0.613669 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表