Compartir a través de


Creación de un cuadro de mensaje condicional "Espere..."

En el ejemplo siguiente se muestra cómo crear un cuadro de mensaje condicional que aparece y advierte al usuario de que una tarea en segundo plano todavía se está ejecutando cada vez que el usuario activa un control mostrado prematuramente.

En el ejemplo también se muestra cómo se puede usar SpawnWaitDialog ControlEvent de forma general para proteger un control que desencadena una acción dependiente de la finalización de una tarea en segundo plano.

En este ejemplo, se muestra un cuadro de diálogo Selection que contiene tres controles de botón de comando con la etiqueta Instalar ahora, Siguiente y Espacio de disco que se muestran al usuario durante el proceso de instalación. Sin embargo, el instalador también lleva a cabo una tarea de administración de espacio en disco en segundo plano mientras se muestra este cuadro de diálogo. El autor desea proteger estos botones desde la activación y quiere que aparezca un cuadro de mensaje "Espere" si el usuario hace clic en cualquiera de los botones antes de que se haya completado la tarea de administración de espacio en disco. El autor también quiere que este cuadro de mensaje contenga un botón Cancelar que desaparezca en cuanto finalice la tarea en segundo plano.

Para mostrar un cuadro de diálogo que pide al usuario que espere mientras se completa la tarea en segundo plano de administración de espacio en disco

  1. Use las funcionalidades de creación del instalador para agregar un nuevo cuadro de diálogo modal, denominado WaitForCosting, a la tabla Dialog. El cuadro de diálogo debe mostrar una cadena de texto que indica "Espere mientras se completa la tarea de administración de espacio en disco".
  2. Agregue un único control de botón de comando a este cuadro de diálogo, con la etiqueta Cancel, mediante su creación en la tabla Control.
  3. Vincule el botón de comando Cancelar a un ControlEvent que cierre el cuadro de diálogo WaitForCosting mediante la creación de un control EndDialog ControlEvent en la tabla ControlEvent. Establezca el argumento de EndDialog ControlEvent como Exit.
  4. Vincule un SpawnWaitDialog ControlEvent a los controles de botón de comando Instalar ahora, Siguiente y Espacio en disco existentes que aparecen en el cuadro de diálogo Selection. Establezca el argumento de este ControlEvent de la tabla ControlEvent para que sea el cuadro de diálogo WaitForCosting y establezca la expresión de la columna Condition de la tabla para que sea: CostingComplete =1.