Поискал, по крайней мере здесь, вроде бы, не задавали еще такой вопрос. Насколько можно полагаться на то, что команды автокада выполняются последовательно друг за другом? Может ли возникнуть ситуация когда во время работы команды будет запущена-завершена другая команда?
Немного поясню. Есть такие события у документа: CommandWillStart, CommandEnded, CommandCancelled и CommandFailed(кстати, вот это событие ни разу не удалось словить, но на всякий случай и его обрабатываю). Как показывают эксперименты, события срабатывают только в момент запуска-прекращения основных команд, т.е. прозрачные команды типа 'PAN, 'ZOOM, 'MTP и т.п. не вызывают этих событий. И, вроде как, всегда выполняется правило, что если команда была запущена - сработало событие CommandWillStart, то потом обязательно сработает CommandEnded или CommandCancelled и только затем может быть запущена новая команда. Я же до сегодняшнего дня всегда проверял в событиях завершения команды ее название и сверял с тем, которое получал в событии запуска команды, чтобы точно быть уверенным, что была завершена именно та команда, которая запускалась. А вот сейчас такая проверка сильно мне мешает и я задумался о ее целесообразности. Если команды всегда выполняются последовательно, то нет смысла проверять название завершившейся команды - это будет та команда, которая была запущена. Или же возможна другая ситуация?
Извините, вам запрещён просмотр содержимого спойлеров.