明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1759|回复: 2

关于acedCommand()的一个奇怪问题

[复制链接]
发表于 2005-4-21 22:12:00 | 显示全部楼层 |阅读模式
想采用启动自动加载的方式,实现一些自定义的命令不成功,


经调试,发现一个奇怪的问题:


比如在acrxEntryPoint入口函数里的InitApplication()后添加:


rc=acedCommand(RTSTR,"circle",RTSTR,"5,5,0",RTSTR,"5",0);


发现rc返回一个负值,命令不能实现;


如果将这句代码放于某一函数中,将此函数加到InitApplication()后,则可成功实现命令。


为什么会有这个现象?还请哪位高手指点一二!thx!
发表于 2005-4-23 11:27:00 | 显示全部楼层
在iniapp()中添加命令组,acedRegCmds->addCommand
发表于 2005-4-23 20:33:00 | 显示全部楼层
<BR>                                                         acDocManager-&gt;sendStringToExecute(acDocManager-&gt;curDocument(),<BR>                                                                                         "circle 5,5,0 5 ");        <BR>注意:在circle、                 5,5,0                 和 5 之后必须有一个空格符。


在一些场合不宜直接使用acedCommand()。在ARX的初始化部分,不仅是让程序员编写初始化的程序码,ACAD本身也在初始化,这里不宜编写直接改变ACAD 数据库数据的程序码,acedCommand()就是属于这类操作。


用sendStringToExecute()方法可以实现命令调用,不过命令开始执行点不一样,acedCommand(〕直接启动命令,而sendStringToExecute()是把启动命令的主动权交给ACAD,ACAD通过窗口消息队列安排适当点启动命令,一般是在当前任务完成后启动命令。楼主的情况是装入ARX后接着启动 circle命令。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 06:53 , Processed in 0.173949 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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