明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2982|回复: 17

[提问] 请教:LISP程序中用princ/grtext等输出的信息不能及时显示出来,有解决办法吗?

[复制链接]
发表于 2018-7-21 21:55 | 显示全部楼层 |阅读模式
请教:LISP程序中需要执行一段耗时较长的代码时,执行前用princ/grtext等输出的提示信息,但不能及时显示出来,通常是后面耗时长的代码执行完成后才显示出来,失去了提示的意义。不知道有没有高手研究过这个问题,有没有解决办法吗?
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2018-11-14 16:58 | 显示全部楼层
(vla-eval (vlax-get-acad-object) "DoEvents")
回复 支持 1 反对 1

使用道具 举报

发表于 2018-9-27 16:17 | 显示全部楼层
tengte 发表于 2018-7-26 12:24
这个与(princ "\n")没有区别

先用(setvar "cmdecho" 0) 关闭CAD操作的提示
在用
(princ "\n [ ---------------- 開  始 --------------- ]")
每运行那里就会提示出来

点评

谢谢您的回复!下次试试您的方法  发表于 2018-9-29 19:11
发表于 2018-12-17 22:50 | 显示全部楼层
本帖最后由 elitefish 于 2018-12-17 22:51 编辑

写一个 dcl ,里面写上你的提示内容,设置一个 default 按钮 但什么都不允许操作
用 new_dialog 加载后  不要用start_dialog     
等你的循环结束后  直接调用 (done_dialog 0)
来关闭对话框
发表于 2018-7-23 20:18 | 显示全部楼层
换行符号在作怪,把(princ "\n")和(princ msg)给它分开用。
 楼主| 发表于 2018-7-24 10:49 | 显示全部楼层
nzl1116 发表于 2018-7-23 20:18
换行符号在作怪,把(princ "\n")和(princ msg)给它分开用。

谢谢您的回复!试过了,没有效果
发表于 2018-7-24 13:02 | 显示全部楼层
加(prompt "")
发表于 2018-7-24 15:23 | 显示全部楼层
tengte 发表于 2018-7-24 10:49
谢谢您的回复!试过了,没有效果

你是怎么分开的?
发表于 2018-7-24 16:22 | 显示全部楼层
我自己用的都是用 alert 提示一些错误或需要注意的地方

点评

alert会中断程序的运行,等待确认才能继续。我不需要中断运行,只给出提示信息就行!  发表于 2018-7-25 10:00
 楼主| 发表于 2018-7-25 09:58 | 显示全部楼层
nzl1116 发表于 2018-7-24 15:23
你是怎么分开的?

(princ "\n提示信息\n")
(princ "\n")
这样也没用,把princ换成prompt也是一样的
发表于 2018-7-25 15:26 | 显示全部楼层
(princ "\r")
试试这个
不保证一定行
 楼主| 发表于 2018-7-26 12:24 | 显示全部楼层
masterlong 发表于 2018-7-25 15:26
(princ "\r")
试试这个
不保证一定行

这个与(princ "\n")没有区别
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 00:53 , Processed in 0.538635 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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