Тема: Undo не работает?
После создания пользовательского объекта не работает комманда Undo, почему бы это? Может быть я не реализовал какие-то методы базового класса?
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → ObjectARX → Undo не работает?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
После создания пользовательского объекта не работает комманда Undo, почему бы это? Может быть я не реализовал какие-то методы базового класса?
А в переопределённых функциях ти вызываешь assertWriteEnabled()?
1) Undo не работает вообще, или только для пользовательского объекта?
2) Ты уверен, что во всех методах, которые модифицируют объект вызывается assertWriteEnabled() и/или соответствующий метод родительского класса?
3) Ты не забываешь закрывать объект, после его открытия?
4) Версия AutoCAD и ObjectARX?
P.S. Может выложишь куда-нибудь код для проверки?
1)Undo на мои пользовательские объекты
2)Да проверил во всех методах, все впорядке
3) все в норме 4)Версии подходящие ObjectArx 2005 и Autocad 2005
Попробовал убрать реактор, без него все океюшки!
буду смотреть чего там не так!
> Миша
Реактор случайно не AcEditorReactor::commandEnded, в котором ты пытаешься модифицировать свой примитив? Тогда все ясно...
Да это он, точно...??? В чем может быть проблема с ним??
> Миша
Уууу! Мрак...:( Могу кое-что посоветовать, но будет ли работать в твоем случае - не знаю:
1) Не использовать транзакции в этом реакторе.
2) Попробуй в этом методе реактора:
// Запрещаем запись Undo ТвойОбъект->disableUndoRecording (true); // Здесь модифицируем объект ТвойОбъект->updateData(); ТвойОбъект->recordGraphicsModified(); // Восстанавливаем запись Undo ТвойОбъект->disableUndoRecording (false); ТвойОбъект->close();
Но это не все. Если в AcEditorReactor::commandWillStart - имя команды UNDO или U, то ты не должен производить обработку своего примитива в AcEditorReactor::commandEnded.
Теоретически должно помочь...
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → ObjectARX → Undo не работает?
Форум работает на PunBB, при поддержке Informer Technologies, Inc