Galera estou com o seguinte problema fiz um programa em progress onde o resultado de sua execução é jogado em uma planilha do excel, porém se no meio da execução o usuário der o comando ctrl + pause break o programa é interrompido porém o aplicativo do excel fica ativo na memória do computador existe uma forma de tratar esse comando para que junto o aplicativo do excel cai juntamente com a aplicação progress?
Saudações Vc pode tentar por "ON STOP" no bloco que gera o excel. Código: DO ON STOP UNDO, RETRY: IF RETRY THEN DO: /*FINALIZA O EXCEL*/ LEAVE. END. GERA EXCEL. END. Tem outros jeitos de fazer, mas foi só pra te dar uma idéia...
Cara fica assim o código? ou é de uma outra maneira? Código: DO ON STOP UNDO, RETRY: IF RETRY THEN DO: /*FINALIZA O EXCEL*/ LEAVE. END. excelappl:range("A" + string(linha, "99999999999999")):value = temp-movimentos.cd-transacao. excelappl:range("B" + string(linha, "99999999999999")):value = temp-movimentos.nr-serie-doc-original. excelappl:range("C" + string(linha, "99999999999999")):value = temp-movimentos.nr-doc-original. excelappl:range("D" + string(linha, "99999999999999")):value = temp-movimentos.cd-unidade-carteira. excelappl:range("E" + string(linha, "99999999999999")):value = temp-movimentos.cd-carteira-usuario. excelappl:range("F" + string(linha, "99999999999999")):value = nome. excelappl:range("G" + string(linha, "99999999999999")):value = temp-movimentos.cd-prestador-solicitante. excelappl:range("H" + string(linha, "99999999999999")):value = temp-movimentos.cd-servico. excelappl:range("I" + string(linha, "99999999999999")):value = descricao. excelappl:range("J" + string(linha, "99999999999999")):value = temp-movimentos.cd-prestador-pagamento. excelappl:range("K" + string(linha, "99999999999999")):value = preserv.nm-prestador. excelappl:range("L" + string(linha, "99999999999999")):value = temp-movimentos.in-nivel-prestador. excelappl:range("M" + string(linha, "99999999999999")):value = temp-movimentos.lg-anestesista. excelappl:range("N" + string(linha, "99999999999999")):value = temp-movimentos.qt-repasse. excelappl:range("O" + string(linha, "99999999999999")):value = temp-movimentos.qt-procedimento. excelappl:range("P" + string(linha, "99999999999999")):value = temp-movimentos.vl-real-pago. excelappl:range("Q" + string(linha, "99999999999999")):value = modalidade. excelappl:range("R" + string(linha, "99999999999999")):value = plano. excelappl:range("S" + string(linha, "99999999999999")):value = tipo-plano. excelappl:range("T" + string(linha, "99999999999999")):value = temp-movimentos.cd-modulo. excelappl:range("U" + string(linha, "99999999999999")):value = hr-inicial. excelappl:range("V" + string(linha, "99999999999999")):value = hr-final. ASSIGN linha = linha + 1. END. END.
Sim, mas deve ter outros comando para abrir a aplicação Excel. Vc tem q ter em mente que qdo o programa estiver executando alguma linha dentro do bloco DO ON STOP...END e o usuario der CTRL-BREAK o progress dará um RETRY no bloco indo para o IF que está dentro dele logo no começo. Sacou? Faz uns testes aí e envia o veredicto...