Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O exemplo a seguir ilustra como criar uma caixa de mensagem condicional que aparece e avisa o usuário que uma tarefa em segundo plano ainda está em execução sempre que o usuário ativa um controle exibido prematuramente.
O exemplo também ilustra como o SpawnWaitDialog ControlEvent geralmente pode ser usado para proteger um controle que dispara uma ação dependente da conclusão de uma tarefa em segundo plano.
Neste exemplo, um de diálogo de seleção de contendo três controles de botão rotulados Instalar agora, Próximoe de custo de disco é exibido para o usuário durante o processo de instalação. No entanto, o instalador também executa uma tarefa de custo de espaço em disco em segundo plano ao exibir esta caixa de diálogo. O autor deseja proteger esses botões da ativação e quer que uma caixa de mensagem "Por favor, aguarde" para aparecer se o usuário clicar em qualquer um dos botões antes que o cálculo de custos tenha sido concluído. O autor também quer que esta caixa de mensagem contenha um botão Cancelar e desapareça assim que a tarefa em segundo plano for concluída.
Para exibir uma caixa de diálogo solicitando que o usuário aguarde enquanto o cálculo de custos do disco em segundo plano é concluído
- Use os recursos de criação do instalador para adicionar uma nova caixa de diálogo modal, chamada WaitForCosting, na tabela Dialog. A caixa de diálogo deve exibir uma cadeia de caracteres de texto que diz "Aguarde enquanto o cálculo do espaço em disco é concluído".
- Adicione um único controle de botão a essa caixa de diálogo, rotulada Cancelar, criando-o na tabela Controle .
- Vincule o botão Cancelar a um ControlEvent que fecha a caixa de diálogo WaitForCosting criando um ControlEvent EndDialog na tabela ControlEvent. Defina o argumento do evento EndDialog Control como Exit.
- Vincule o ControlEvent SpawnWaitDialog de aos controlos de botão de pressão Instalar Agora, Seguinte, e Custo do Disco apresentados na caixa de diálogo de seleção . Defina o argumento deste ControlEvent na tabela ControlEvent como a caixa de diálogo WaitForCosting e defina a expressão na coluna Condition da tabela como sendo: CostingComplete =1.