DBObject:擦除并恢复对象

时间:2017-06-28 03:14:02

标签: c# visual-studio-2012 objectarx

我是Object ARX的新手,目前我尝试使用Visual Studio 2012在C#中编码。前几天我遇到这种方法(不是错误或实际编码问题,但它让我感到疑惑):

DBObject::Erase();

DBObject::Erase(bool erasing);
  1. 我想知道这两种方法之间有什么区别?何时使用/不使用特定的? 我做了一些研究,发现后面的方法实际上没有擦除对象,只是将其标记为“已删除”,因此如果设置bool erasing = true,则在保存图形时不会显示或存档。另一方面,如果我设置bool erasing = false,则对象可以恢复(它仍然存在于内存中)。不过,我仍然不能真正理解第一种方法。

  2. 我的研究引出了另一个问题:如何使用第二种方法恢复已擦除的对象?另一个我遇到的方法看起来像这样

    _recover (parameter1, parameter2, parameter3, parameter4);

  3. 但我似乎无法再找到它。这种方法是什么以及如何使用它?

    非常感谢任何解释,想法或参考。

1 个答案:

答案 0 :(得分:0)

  1. 这个问题的答案就是方法本身。一旦"擦除"如果设置为true,则对象将标记为"擦除",但仅当我们保存图形时,对象才会被删除。否则,它将保留在数据库中,但不会形成用户的命令或交互。只要未保存图形,我们就可以再次调用该方法

    object.Erase(假);

  2. 将对象设置为"未擦除"。这是来自ARX文档的对象,文件名为arxref.chm。除了简短说明之外,autocad .NET的文档没有提供太多详细信息:

    "打开/关闭擦除标志"

    1. 很抱歉混淆,我之前看到的方法实际上是对象ARX / autocad .NET中擦除事件的reactor / event处理程序。