Compartir a través de


Método IDataModelScript2::Execute (dbgmodel.h)

El método Execute ejecuta el contenido del script según lo dictado por la última llamada a Populate correcta y modifica el modelo de objetos del depurador según ese contenido. Si el lenguaje (o el proveedor de scripts) define una "función principal", una que el autor querría llamar al hacer clic en un botón imaginario "Ejecutar script" en una interfaz de usuario, no se llama a dicha "función principal" durante una operación de ejecución. La operación Ejecutar solo se puede considerar para realizar manipulaciones de inicialización y modelo de objetos (por ejemplo, ejecutar código raíz y configurar puntos de extensibilidad). La ejecución de un script es una comunicación bidireccional entre el proveedor de scripts y el cliente de script. Los errores, el control de depuración y otras semánticas se pasan a través del canal de comunicación entre IDataModelScript2 y IDataModelScriptClient.

Dependiendo de si la operación Execute se realiza correctamente o produce un error, se debe producir una de estas dos cosas:

Para obtener una devolución correcta:

  • El contenido ejecutado anteriormente del script se vacía y se olvida
  • Cualquier manipulación del modelo de objetos o puntos de extensibilidad cambiados como resultado de la ejecución anterior del script se deshacen
  • Los puntos de extensibilidad y manipulaciones del modelo de objetos de la nueva ejecución del script están activos.

Para una devolución con error:

  • Las manipulaciones o puntos de extensibilidad del nuevo intento de ejecución del script se deshacen
  • Se restaura el estado anterior del script. Se restauran todas sus manipulaciones del modelo de objetos y puntos de extensibilidad.
  • El estado debe ser como fue después de la llamada rellenada correcta, pero antes de cualquier llamada Execute

Tenga en cuenta que, para un entorno de scripting y proveedor de scripts escrito correctamente, llamar al método Execute varias veces sin una llamada intermedia a Rellenar o Desvincular "debe ser idempotente. Es decir, llamar a Ejecutar N veces en una fila debería aparecer al usuario igual que llamar a Execute una vez. La ejecución no debe generar resultados secundarios en el estado del destino de depuración. Posteriormente, el uso de propiedades, métodos o eventos en el puente generado a través del método Execute puede producir resultados secundarios.

Sintaxis

HRESULT Execute(
  IDataModelScriptClient *client
);

Parámetros

client

Aquí se debe pasar una interfaz al cliente que solicita la ejecución. Si hay errores u otros eventos durante la ejecución del script, el cliente debe recibir una notificación de los mismos y su ubicación dentro del script a través de métodos en esta interfaz.

Valor devuelto

Este método devuelve HRESULT que indica éxito o error.

Requisitos

Requisito Valor
encabezado de dbgmodel.h

Consulte también

de interfaz IDataModelScript2 de