Сообщество программистов Autodesk в СНГ

ADN Club => Inventor API => Тема начата: filat от 16-03-2015, 11:55:39

Название: Как избежать рецикла событий
Отправлено: filat от 16-03-2015, 11:55:39
Есть Sub  по событию Save, который выполняе ряд манипуляций над объектом, после чего требуется выполнить сохранение объекта и это вызывает процедуру по новой...
Название: Re: Как избежать рецикла событий
Отправлено: Виктор Чекалин от 16-03-2015, 13:26:25
filat, если в обработке события Save вызывается метод Save, то скорее всего что-то не так в логике приложения.
Тем не менее, обычно есть два события - Before Save и Save. Первое событие возникает перед сохранением. Если такое событие есть, то именно в нем нужно сделать изменение объектов и не вызывать повторно метод сохранения.
Название: Re: Как избежать рецикла событий
Отправлено: Алексей Романов от 17-03-2015, 07:11:07
после чего требуется выполнить сохранение объекта и это вызывает процедуру по новой...
Сохранение не требуется, если поступить, как советует Виктор. Но тут есть момент, что процедура может вызываться несколько раз при сохранении зависимых компонентов. Анализируй DocumentObject и Context, чтобы прояснить ситуацию, флаги используй. Тут предметно нужно разговаривать...