祥子 发表于 2009-8-14 22:41:00

<p>把vlx文件发出来吧,看动画不太明白,大伙在本机运行可能更好理解点</p>

hhc 发表于 2009-8-15 08:16:00

是不是通过故意设置一个错误,使程序中断,再用vl-catch-apply系列函数捕捉错误,并重新启动对话框,如此不断循环。。。?

liminnet 发表于 2009-8-15 11:11:00

看来快可以抄底了,随时用手机关注中,期待看到原理

nonsmall 发表于 2009-8-15 15:42:00

<p>我在一楼更新提示,有兴趣的话请多思考,多尝试。</p><p>参考我之前的几篇研究文章,会有启示。</p>

hhc 发表于 2009-8-15 16:56:00

对话框可以通过故意设置错误使程序中断,从而不断循环,但在命令行等待输入或进行屏幕选择时,却无法使程序中断(在没有鼠标或键盘的动作下)。或者也可以用同样的原理实现?

liminnet 发表于 2009-8-15 19:44:00

又没具体的代码显示出来,又老吊胃口,抗议。。,本人拒绝再跟贴

狂刀无痕 发表于 2009-8-17 17:27:00

真是笑死人了,就你跟帖最勤快

yxp 发表于 2009-8-17 20:48:00

<p><font face="Verdana" color="#61b713"><font color="#000000">赞同楼上,将</font><strong>liminnet</strong><font color="#000000">评为明经的水贴王子,你自己开放过几个源码?</font></font></p><p><font face="Verdana" color="#61b713"><font color="#000000">按老猫的提示自己研究,不要喊叫,关键在于思考的过程,给了源码有啥意思。</font></font></p>

AMTONNY 发表于 2009-8-17 23:57:00

<p>偶菜鸟一个,占个沙发看热闹哟</p>

hhc 发表于 2009-8-18 09:07:00

本帖最后由 hhc 于 2013-10-6 10:15 编辑

Lisp的单线程其实跟CPU的工作原理很相似,因为在任一时刻,一个CPU只能处理一个数据,但由于操作系统的分配,使CPU能在多个任务间快速切换,看起来就好像多个任务同时进行,而Lisp不能直接调用API函数。变通的办法:在CAD2004中使用Grread时,只要在循环中加入一句(command "_.zoom" ...),即使鼠标及键盘没有任何动作,只要执行了这一句,Lisp就会认为发生了鼠标移动的操作,使得循环得以连续。这本是Lisp的一个bug,但对编制CAD游戏却是很需要的,但这个bug在CAD2007得到了一点纠正,必须将“工作空间”工具条打开并横向放置,才可连续。而且在CAD2008中,这个bug得到了彻底的纠正,不论怎样都不能连续。
页: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14
查看完整版本: 【原创】颠覆传统!纯Lisp也玩多线程开发!谜底揭晓!!!