SendCommand или SendStringToExecute?

дата публикации: 13.12.2011

SendCommand

Метод Autodesk.AutoCAD.Interop.AcadDocument.SendCommand работает синхронно1, если флаг CommandFlag == Session. В этом случае, прежде чем вносить изменение в Autodesk.AutoCAD.ApplicationServices.Document, его в обязательном порядке необходимо предварительно заблокировать.

SendStringToExecute

Метод Autodesk.AutoCAD.ApplicationServices.Document.SendStringToExecute всегда работает асинхронно2.

Примечания:
1-т.е. тут же вызывает обозначенную в нём команду, и только после её отработки переходит к выполнению следующей строки кода, следующей сразу после вызова SendCommand.
2т.е. фактический запуск указанной команды однозначно произойдёт не ВО ВРЕМЯ вызова метода SendStringToExecute, а НЕСКОЛЬКО ПОЗДНЕЕ - в тот момент, когда управление вернётся к AutoCAD.

Comments