ADN Club => Revit API => Тема начата: enot от 18-09-2018, 19:33:35
Название: удалить все Updater-ы
Отправлено: enot от 18-09-2018, 19:33:35
как удалить все Updater-ы из текущего документа ?
Название: Re: удалить все Updater-ы
Отправлено: Александр Игнатович от 19-09-2018, 13:28:35
updater-ы не хранятся в документе, чтобы их можно было бы удалить )
Для всех манипуляций с апдейтерами предназначен класс UpdaterRegistry. Насколько знаю, Revit не позволит управлять updater-ами из других addin-ов, а только теми, которые зарегистрированы в Вашем приложении, соответственно, Вы знаете все UpdaterId ваших updater-ов, можете проверить, зарегистрирован ли он с помощью метода IsUpdaterRegistered(UpdaterId, Document) и при необходимости вызвать UnregisterUpdater(UpdaterId, Document)
Название: Re: удалить все Updater-ы
Отправлено: enot от 19-09-2018, 13:51:21
спасибо Пробовал сделать что то вроде - при закрытии документа ревит все апдейтеры анрегистрируются
public Autodesk.Revit.UI.Result OnShutdown(Autodesk.Revit.UI.UIControlledApplication application)
{
UpdaterRegistry.UnregisterUpdater(_updaterId);
return Result.Succeeded;
}
}
Что вероятно не корректно?
Зачем отключать - при повтором запуске документа вылазит скатерть из надписей зареганых апдейтеров , которые не запущены, и если не запустить будет нечто плохое
Название: Re: удалить все Updater-ы
Отправлено: Александр Игнатович от 19-09-2018, 14:12:57
И при чем тут анрегистрация?
Тут в другом дело. При регистрации можно указать, что регистрировать апдейтер как опциональный. Если же isOptional = false, то Revit проверяет наличие зарегистрированного апдейтера с тем же гуидом.
Название: Re: удалить все Updater-ы
Отправлено: enot от 19-09-2018, 14:15:50
Тут в другом дело. При регистрации можно указать, что регистрировать апдейтер как опциональный. Если же isOptional = false, то Revit проверяет наличие зарегистрированного апдейтера с тем же гуидом.
Можно пример этой записи?
Название: Re: удалить все Updater-ы
Отправлено: Александр Игнатович от 19-09-2018, 14:18:59