DBObject: стереть и восстановить объекты
Я новичок в Object ARX, и в настоящее время я пытаюсь кодировать на C# с использованием Visual Studio 2012. На днях я сталкиваюсь с этим методом (не ошибка или реальная проблема кодирования, но это заставляет меня задуматься):
DBObject::Erase();
DBObject::Erase(bool erasing);
Интересно, в чем разница между двумя методами? Когда использовать / не использовать конкретный? Я провел некоторое исследование и обнаружил, что более поздний метод на самом деле не стирает объект, а только помечает его как "удаленный", чтобы он не отображался и не сохранялся при сохранении чертежа, если я установил
bool erasing = true
, С другой стороны, если я установлюbool erasing = false
, объект может быть восстановлен (он все еще существует в памяти). Я все еще не совсем понимаю первый метод.Мои исследования привели к другому вопросу: как восстановить стертый объект, используя второй метод? Другой, с которым я сталкиваюсь, метод выглядит так
_recover (parameter1, parameter2, parameter3, parameter4);
но я не могу найти его снова. Что это за метод и как его использовать?
Любые объяснения, идеи или ссылки приветствуются.
1 ответ
Ответ на этот вопрос - сам метод. Как только для "стирания" установлено значение "истина", объект будет помечен как "стертый", но только когда мы сохраняем чертеж, объект фактически стирается. В противном случае он остается в базе данных, но не требует никаких команд или взаимодействий от пользователя. Пока чертеж не сохранен, мы можем вызвать метод еще раз, как
object.Erase(ложь);
установить объект как "не стертый". Это из объекта ARX docs, имя файла arxref.chm . Документ autocad .NET не предоставляет подробностей об этом, кроме краткого описания:
"Установка флага стирания вкл / выкл"
- Извините за путаницу, метод, который я видел ранее, на самом деле является обработчиком реактора / события для события стирания в объекте ARX/ autocad .NET .