乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 32|回复: 1

AutoCAD数据库的准入问题

[复制链接]

1

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2002-4-4 21:07:00 | 显示全部楼层 |阅读模式
我有几个问题,请教各位大侠!
    第一:能否在ObjectARX的入口函数acrxEntryPoint的AcRx::kInitAppMsg之外注册命令?我原来在 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异常退出。
    以上种种,望各位大侠好心指点。
回复

使用道具 举报

32

主题

150

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
278
发表于 2002-4-9 13:39:00 | 显示全部楼层
1、在R2000下,如果不用defun注册命令,大约是不能在这个入口之外注册命令的
2、R2000是有自锁机制,很可能是相对R14来说,R2000加强了安全机制,但是如果只是增加实体,则不需要用write方式,用read方式足够;
3、这种情况没有试过,我想可能是注销机制不一样,在R2000下,注销的同时要做所有的内存清理(自已清理自已当然出错),而且R14下的注销可能只是从命令列表中进行清除。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 05:25 , Processed in 0.155710 second(s), 56 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表