Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод Execute выполняет содержимое скрипта в соответствии с последним успешным вызовом "Заполнение" и изменяет объектную модель отладчика в соответствии с этим содержимым. Если язык (или поставщик скриптов) определяет "основную функцию" - то, что автор хотел бы вызвать при нажатии мнимой кнопки "Выполнить скрипт" в пользовательском интерфейсе, такая "основная функция" не вызывается во время операции execute. Операция Execute может рассматриваться только для выполнения инициализации и обработки объектной модели (например, выполнение корневого кода и настройка точек расширяемости). Выполнение скрипта — это двусторонний обмен данными между поставщиком скриптов и клиентом скрипта. Ошибки, элемент управления отладкой и другие семантики передаются по каналу связи между IDataModelScript и IDataModelScriptClient.
В зависимости от того, выполнена ли операция выполнения или завершается сбоем, следует выполнить одно из двух действий:
Для успешного возврата:
- Ранее выполненное содержимое скрипта очищается и забылось
- Любые операции с объектной моделью или точки расширяемости, измененные в результате предыдущего выполнения скрипта, отменяются
- Операции с объектной моделью и точки расширяемости нового выполнения скрипта активны
Для неудачного возврата:
- Любые манипуляции или точки расширяемости нового попытка выполнения скрипта отменяются
- Предыдущее состояние скрипта восстанавливается. Восстанавливаются все операции с объектной моделью и точки расширяемости.
- Состояние должно быть так же, как и после успешного вызова "Заполнение", но перед любым вызовом Execute
Обратите внимание, что для правильно написанного поставщика скриптов и среды сценариев вызов метода Execute несколько раз без интервентного вызова "Заполнение или отмена связи" должно быть идемпотентным. То есть вызов времени Execute N в строке должен отображаться пользователю так же, как и при вызове execute один раз. Выполнение не должно создавать побочные результаты по состоянию целевого объекта отладки. Впоследствии использование свойств, методов или событий на мосту, созданных с помощью метода Execute, действительно может привести к побочным эффектам.
Синтаксис
HRESULT Execute(
IDataModelScriptClient *client
);
Параметры
client
Интерфейс для клиента, запрашивающего выполнение, должен быть передан здесь. Если во время выполнения скрипта возникают ошибки или другие события, клиент должен получать уведомления о них и их расположении в скрипте с помощью методов в этом интерфейсе.
Возвращаемое значение
Этот метод возвращает HRESULT, указывающий на успех или сбой.
Требования
Требование | Ценность |
---|---|
заголовка | dbgmodel.h |
См. также
интерфейса IDataModelScript