Método IDataModelScript::Execute (dbgmodel.h)
O método Execute executa o conteúdo do script conforme determinado pela última chamada de Preenchimento bem-sucedida e modifica o modelo de objeto do depurador de acordo com esse conteúdo. Se a linguagem (ou o provedor de script) definir uma "função main" – aquela que o autor desejaria chamar ao clicar em um botão imaginário "Executar Script" em uma interface do usuário , essa "função main" não será chamada durante uma operação Execute. A operação Executar pode ser considerada para executar somente manipulações de inicialização e modelo de objeto (por exemplo: execução de código raiz e configuração de pontos de extensibilidade). A execução de um script é uma comunicação bidirecional entre o provedor de script e o cliente de script. Erros, controle de depuração e outras semânticas são passados pelo canal de comunicação entre IDataModelScript e IDataModelScriptClient.
Dependendo se a operação Executar for bem-sucedida ou falhar, uma das duas coisas deve acontecer:
Para um retorno bem-sucedido:
o O conteúdo executado anteriormente do script é liberado e esquecido
o Quaisquer manipulações de modelo de objeto ou pontos de extensibilidade alterados como resultado da execução anterior do script são desfeitos
o As manipulações do modelo de objeto e os pontos de extensibilidade da nova execução do script estão ativos
Para um retorno com falha:
o Quaisquer manipulações ou pontos de extensibilidade da nova tentativa de execução do script são desfeitos
o O estado anterior do script é restaurado. Todas as manipulações do modelo de objeto e os pontos de extensibilidade são restaurados.
o O estado deve ser como era após a chamada popular bem-sucedida, mas antes de qualquer chamada Executar
Observe que, para um provedor de script escrito corretamente e um ambiente de script, chamar o método Execute várias vezes sem uma chamada intermediária para Popular ou Desvincular deve ser idempotente. Ou seja, chamar Executar N vezes em uma linha deve aparecer para o usuário da mesma forma que chamar Executar uma vez. A execução não deve produzir resultados de efeito colateral no estado do destino de depuração. Posteriormente, utilizar propriedades, métodos ou eventos na ponte produzida por meio do método Execute pode, de fato, produzir resultados de efeito colateral.
Sintaxe
HRESULT Execute(
IDataModelScriptClient *client
);
Parâmetros
client
Uma interface para o cliente que solicita a execução deve ser passada aqui. Se houver erros ou outros eventos durante a execução do script, o cliente deverá ser notificado sobre eles e sua localização dentro do script por meio de métodos nessa interface.
Retornar valor
Esse método retorna HRESULT que indica êxito ou falha.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | dbgmodel.h |