Condividi tramite


Metodo IDataModelScript::Execute (dbgmodel.h)

Il metodo Execute esegue il contenuto dello script in base all'ultima chiamata Popolamento riuscita e modifica il modello a oggetti del debugger in base a tale contenuto. Se il linguaggio (o il provider di script) definisce una "funzione principale", una che l'autore vuole chiamare facendo clic su un pulsante "Esegui script" immaginario in un'interfaccia utente, tale "funzione principale" non viene chiamata durante un'operazione Di esecuzione. L'operazione Execute può essere considerata solo per eseguire operazioni di inizializzazione e modifica del modello a oggetti , ad esempio l'esecuzione del codice radice e la configurazione di punti di estendibilità. L'esecuzione di uno script è una comunicazione bidirezionale tra il provider di script e il client di script. Gli errori, il controllo di debug e altre semantiche vengono passati attraverso il canale di comunicazione tra IDataModelScript e IDataModelScriptClient.

A seconda che l'operazione Di esecuzione abbia esito positivo o negativo, deve verificarsi una delle due operazioni seguenti:

Per restituire correttamente:

  • Il contenuto precedentemente eseguito dello script viene scaricato e dimenticato
  • Eventuali manipolazioni o punti di estendibilità del modello a oggetti modificati in seguito all'esecuzione precedente dello script vengono annullati
  • Le manipolazioni del modello a oggetti e i punti di estendibilità della nuova esecuzione dello script sono attivi

Per una restituzione non riuscita:

  • Eventuali manipolazioni o punti di estendibilità della nuova esecuzione tentata dello script vengono annullate
  • Lo stato precedente dello script viene ripristinato. Vengono ripristinate tutte le manipolazioni del modello a oggetti e i punti di estendibilità.
  • Lo stato deve essere così come dopo la chiamata Popolamento riuscita, ma prima di qualsiasi chiamata Execute

Si noti che per un provider di script e un ambiente di scripting scritti correttamente, chiamare il metodo Execute più volte senza una chiamata in corso a Populate o Unlink 'deve essere idempotente. Ciò significa che la chiamata a Execute N times in una riga dovrebbe essere visualizzata all'utente come la chiamata a Execute una sola volta. L'esecuzione non deve produrre risultati collaterali sullo stato della destinazione di debug. Successivamente, l'utilizzo di proprietà, metodi o eventi sul bridge prodotto tramite il metodo Execute può effettivamente produrre risultati collaterali.

Sintassi

HRESULT Execute(
  IDataModelScriptClient *client
);

Parametri

client

Un'interfaccia al client che richiede l'esecuzione deve essere passata qui. Se si verificano errori o altri eventi durante l'esecuzione dello script, il client deve ricevere una notifica di tali eventi e la relativa posizione all'interno dello script tramite metodi su questa interfaccia.

Valore restituito

Questo metodo restituisce HRESULT che indica l'esito positivo o negativo.

Fabbisogno

Requisito Valore
intestazione dbgmodel.h

Vedere anche

dell'interfaccia IDataModelScript