找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1810|回复: 20

[求助]:能够建立个禁止删除的实体吗?

  [复制链接]
发表于 2006-6-23 05:47:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
能够建立个禁止删除的实体吗?
想在dwg图上写个"单位名字"(能够打印),而又删不掉,达到一种保护目的,能行吗?
请大伙帮忙..
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-6-23 08:13:33 | 显示全部楼层
那就捕捉打印的消息,然后把这个实体加进去呗。

不知道行不行,呵呵,没试过。


----------------------------------------------------------------------------------------------------------
楼主是不是通宵了啊,5点多的时候发帖子????


哎,难道做开发真的这么辛苦吗
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-23 09:30:51 | 显示全部楼层
捕捉打印消息我感觉不行,人家就不加载你的arx,不给你捕捉消息的机会。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-23 11:03:37 | 显示全部楼层
头一次见有这个想法,不过这个想法很有用,高手们讨论讨论,我也多学习学习!呵呵
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-23 12:19:02 | 显示全部楼层
"建立个禁止删除的实体"好像又不太合理,有没有别的方法可以实现保护图形的目的呢?
而且必须脱离开自己的程序(如arx),因为别人可以选择不加载.
是否必须在数据上考虑??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-23 17:44:59 | 显示全部楼层
这个问题要求有点过分,用户应该有这个权利。一个单位名称就这样重要需要保护吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-23 20:55:28 | 显示全部楼层
也不是为保护"单位名称", 类似"图形印章"或"数字水印"...
对数据作一种产权保护.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-23 23:19:07 | 显示全部楼层
可考虑用对象反应器(即永久反应器),将反应器与该数据库捆绑在一起,具体就是从AcDbObject类中派生一个类,并为该派生类重载删除事件的通告函数.

这样数据库对象每次接受到被删除的通告时都会调用objectErased()函数,在重载的objectErased()函数中有一个指向被删除对象的指针和一个真或假的参数(删除或恢复),在该函数的实现中检测该指针是否为AcDbText类对象且内容为"单位名称",如果是,再检测另一个参数是否为真,如果是,马上调用erase函数为假的参数将其恢复.

因从来没有想过这个问题,看到这个帖子也只是临场发挥,肯定错误百出,所以只提供一种观点,供参考而已.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-24 02:33:49 | 显示全部楼层
谢谢pglyxq ,请你再帮我想想是否真的可以实现. 我试试,如果如你所讲"反应器与该数据库捆绑在一起"可以的话,那就有希望啦.!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-24 13:11:19 | 显示全部楼层
希望应该很大了,请看:

在"AutoCAD 2000 ObjectARX 编程指南"一书中的第422页的反应器部分有这么一段话

"请注意,我们仅仅只说明了技术,只有极少或根本没有做错误检查.............最后,返回Acad::eOK的错误代码状态,以删除CMARectWindow实体(pglyxq注:当然也可以是你的"单位名称"等实体).顺便提一下,如果要使实体不可删除,只要返回的错误代码状态不是Acad::eOK即可,这样就会立即终止删除操作."

至少说明了我在上面提到的使用永久反应器这个大方向是没有错的,呵呵.
请王版主仔细琢磨这段说明所指的程序,它应该能轻松解决你的问题,好运!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-27 11:05:30 | 显示全部楼层
期待中!!!对于保护电子图的产权很有用的东西!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-27 12:27:23 | 显示全部楼层
根据楼主的目的,这是无法实现的,存在两个问题:
1。你以AcDbObject派生一个永久反应器类,当你的图纸被用户打开后,要是反应器工作,需要用户首先要加载你的自定义类,但这也正是楼主所最不希望做的事;
2。永久反应要能保存在文件中必须要建立一个词典容器,然后将反应器添加进词典。当然如果不建立自己的词典也可以,可以直接加入到命名对象词典中。即使第2条不是严重问题,那如何来解决第一个问题呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-27 16:42:13 | 显示全部楼层
禁止删除没有问题!问题在于怎么让用户不加载你的程序可以做到这一点??AutoCAD代理实体的方式使这似乎做不到。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-27 18:08:43 | 显示全部楼层
头痛、头痛、头痛
不管是什么样的反应器,如果用户不加载程序,还真是一点招都没有!我这两天也正为这问题发愁,而且好像还真没有解决办法。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-27 19:07:30 | 显示全部楼层
如果别人不加载 你的ARX,单从文件入手.估计很难做到这点.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-14 20:36 , Processed in 0.464227 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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