我是Object ARX的新手,目前我尝试使用Visual Studio 2012在C#中编码。前几天我遇到这种方法(不是错误或实际编码问题,但它让我感到疑惑):
DBObject::Erase();
DBObject::Erase(bool erasing);
我想知道这两种方法之间有什么区别?何时使用/不使用特定的?
我做了一些研究,发现后面的方法实际上没有擦除对象,只是将其标记为“已删除”,因此如果设置bool erasing = true
,则在保存图形时不会显示或存档。另一方面,如果我设置bool erasing = false
,则对象可以恢复(它仍然存在于内存中)。不过,我仍然不能真正理解第一种方法。
我的研究引出了另一个问题:如何使用第二种方法恢复已擦除的对象?另一个我遇到的方法看起来像这样
_recover (parameter1, parameter2, parameter3, parameter4);
但我似乎无法再找到它。这种方法是什么以及如何使用它?
非常感谢任何解释,想法或参考。
答案 0 :(得分:0)
这个问题的答案就是方法本身。一旦"擦除"如果设置为true,则对象将标记为"擦除",但仅当我们保存图形时,对象才会被删除。否则,它将保留在数据库中,但不会形成用户的命令或交互。只要未保存图形,我们就可以再次调用该方法
object.Erase(假);
将对象设置为"未擦除"。这是来自ARX文档的对象,文件名为arxref.chm。除了简短说明之外,autocad .NET的文档没有提供太多详细信息:
"打开/关闭擦除标志"