|
Bem Vindo, Visitante
|
Todos os Fórums
ADVPL
|
Imprimir
Enviar Para um Amigo Precisa estar Logado
|
|
|
Assunto: |
Fechar Tela |
|
Versão: |
12.1.33 |
|
Plataforma: |
Microsoft |
Complemento: |
|
|
DB: |
SQL Server |
Complemento: |
|
|
|
|
|
Mensagem do
WANDERSONW
em 06/05/2022, 12:40 h
Local: SP Registro: 01/07/2015 Postagens: 166 |
Boa Tarde Pessoal
Estou preciso da ajuda de vocês, tenho uma tela MsDialog que chama a barra de processamento com 2 barras. O que eu preciso é que, quando chamar a função fRegua(oBj) ele fecha o MsDialog anterior.
Segue parte do fonte.
@ 160,273 BUTTON oButton1 PROMPT "Gerar Boleto(s)" SIZE 045, 012 WHEN .T. ACTION fRegua()/ OF oDlg PIXEL
@ 160,150 BUTTON oButtonSair PROMPT "Sair " Size 40,15 Of oDlg Pixel Action oDlg:End()
ACTIVATE MSDIALOG oDlg CENTERED
RESTAREA(aAreaAnt)
Return
// Mostra a regua de processamento
Static Function fRegua(oObj)
oRegua := MsNewProcess():New({|| VSPSI2(cDaNota,cAteNota,cSerie,cDaParc,cAteParc,cDtEmiss,cCodCli,cLojCli,cBanco,cAgencia,cConta,cSubConta,cPrefix,cCpoNatde,cCpoNatAte,oRegua)}, "Gerando Boletos...", "Aguarde...", .T.)
oRegua :Activate()
RETURN |
|
|
Mensagem do
CRISTIAM
em 06/05/2022, 13:09 h
Local: SP Registro: 10/05/2012 Postagens: 157 |
Olá boa tarde!
Você pode fazer de 2 maneiras, porém acho que fechar a janela e só depois iniciar o processamento vai ser mais trabalhoso.
A maneira mais "barata" é colocar no botão do Gerar Boletos, logo após o ACTION o seguinte:
( fRegua(), oDlg:end() )
Assim, irá processar por cima da tela anterior e depois fechar o diálogo.
Não sei se vai dar certo vc inverter, não custa tentar.
a outra maneira é vc criar uma variável e no botão vc Setar a variável e fechar o diálogo e logo após o Activate do diálogo usar um IF pra fazer o processamento, mas não fica muito "bonito"...
bom, espero que ter ajudado.
uma boa tarde!
atenciosamente
Cristiam Rossi
ATRIA SOLUÇÕES |
|
Para postar no Fórum você precisa efetuar o seu login ou se registrar
|
|