明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2064|回复: 1

AutoCAD数据库的准入问题

[复制链接]
发表于 2002-4-4 21:07 | 显示全部楼层 |阅读模式
我有几个问题,请教各位大侠!
    第一:能否在ObjectARX的入口函数acrxEntryPoint的AcRx::kInitAppMsg之外注册命令?我原来在AutoCAD 14.0下的ARX中是可行的。这使得我可以在我需要命令的时候注册它,而一旦用完就可马上注销它。而现在我在AutoCAD 2000及2002以外则不行了,导致AutoCAD异常退出。
    第二:是在未注册为命令的函数中能否生成实体。我在两处生成实体,一处在命令之内,一处在命令之外,原14.0都可正常运行。但进入2000/2002之后就出错了。一查,原来是模型空间不能打开为写方式,pBlockTable->getAt(ACDB_MODEL_SPACE, BlockTableRecord, AcDb::kForWrite);块表getAt返回值为320即Acad::eLockViolation。即有一个锁定,我试着锁定或解锁程序,均无济于事。不知ACAD数据库是否也有一锁定操作。
    第三:就是ARX程序能否实现自退出。我原在AutoCAD14.0下通过给AutoCAD发送(Arxunload "arxfile")成功实现自退出,但现在,又导致了AutoCAD异常退出。
    以上种种,望各位大侠好心指点。
发表于 2002-4-9 13:39 | 显示全部楼层

不知道是不是这样

1、在R2000下,如果不用defun注册命令,大约是不能在这个入口之外注册命令的

2、R2000是有自锁机制,很可能是相对R14来说,R2000加强了安全机制,但是如果只是增加实体,则不需要用write方式,用read方式足够;

3、这种情况没有试过,我想可能是注销机制不一样,在R2000下,注销的同时要做所有的内存清理(自已清理自已当然出错),而且R14下的注销可能只是从命令列表中进行清除。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-28 22:56 , Processed in 0.273651 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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