Partager via


IDataModelScript ::Execute, méthode (dbgmodel.h)

La méthode Execute exécute le contenu du script comme dicté par le dernier appel de remplissage réussi et modifie le modèle objet du débogueur en fonction de ce contenu. Si le langage (ou le fournisseur de script) définit une « fonction main », que l’auteur souhaiterait appeler en cliquant sur un bouton imaginaire « Exécuter le script » dans une interface utilisateur , cette « fonction main » n’est pas appelée pendant une opération d’exécution. L’opération Execute peut être envisagée pour effectuer des manipulations d’initialisation et de modèle objet uniquement (par exemple, l’exécution du code racine et la configuration de points d’extensibilité). L’exécution d’un script est une communication bidirectionnelle entre le fournisseur de script et le client de script. Les erreurs, le contrôle de débogage et d’autres sémantiques sont transmis sur le canal de communication entre IDataModelScript et IDataModelScriptClient.

Selon que l’opération d’exécution réussit ou échoue, l’une des deux choses doit se produire :

Pour un retour réussi :

o Le contenu précédemment exécuté du script est vidé et oublié

o Toutes les manipulations de modèle objet ou points d’extensibilité modifiés à la suite de l’exécution antérieure du script sont annulées

o Les manipulations du modèle objet et les points d’extensibilité de la nouvelle exécution du script sont actifs

Pour un retour ayant échoué :

o Toutes les manipulations ou points d’extensibilité de la nouvelle tentative d’exécution du script sont annulées

o L’état antérieur du script est restauré. Toutes ses manipulations de modèle objet et points d’extensibilité sont restaurées.

o L’état doit être tel qu’il était après l’appel de remplissage réussi, mais avant tout appel d’exécution

Notez que pour un fournisseur de script et un environnement de script correctement écrits, l’appel de la méthode Execute plusieurs fois sans appel intermédiaire à Remplir ou Dissocier doit être idempotent. Autrement dit, l’appel à Exécuter N fois dans une ligne doit apparaître pour l’utilisateur comme l’appel à Exécuter une seule fois. L’exécution ne doit pas produire de résultats d’effet secondaire sur l’état de la cible de débogage. L’utilisation ultérieure de propriétés, de méthodes ou d’événements sur le pont produit par le biais de la méthode Execute peut en effet produire des résultats secondaires.

Syntaxe

HRESULT Execute(
  IDataModelScriptClient *client
);

Paramètres

client

Une interface vers le client demandant l’exécution doit être passée ici. En cas d’erreurs ou d’autres événements pendant l’exécution du script, le client doit être informé de ces erreurs et de leur emplacement dans le script via des méthodes sur cette interface.

Valeur retournée

Cette méthode retourne HRESULT qui indique la réussite ou l’échec.

Configuration requise

Condition requise Valeur
En-tête dbgmodel.h

Voir aussi

Interface IDataModelScript