Olá,
se alguém puder me ajudar... quando no form é executado algum procedimento do banco que demora muito, ele trava atela certo...
alguém sabe como reseolver esse problema.. tipo, como criar uma "thread" que faca alguma outra coisa em outro bloco, algo
assim?
pra expecificar, quero que seja exebido uma barra de progressao que fica vindo e voltando enquando estiver sendo executado a rotina.
Desde já obrigado, t+
Travamento/Sincronização
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother, beleza?
Cara, você até pode criar uma Progress Bar pra utilização neste teu processo.
Dá uma procurada sobre Progress Bar ou Barra de Progresso aqui no fórum, que irá encontrar inclusive exemplos prontos.
Ela foi desenvolvida utilizando SYNCHRONIZE, porém, este tipo de "refresh" tem um bug, caso você clique em outra janela e depois novamente no forms.
Dê uma olhada também, aqui no fóum, sobre SYNCHRONIZE, que irá encontrar exemplos e informações, como neste tópico:
http://www.glufke.net/oracle/viewtopic.php?t=2924.
qualquer coisa, manda pra gente.
Cara, você até pode criar uma Progress Bar pra utilização neste teu processo.
Dá uma procurada sobre Progress Bar ou Barra de Progresso aqui no fórum, que irá encontrar inclusive exemplos prontos.
Ela foi desenvolvida utilizando SYNCHRONIZE, porém, este tipo de "refresh" tem um bug, caso você clique em outra janela e depois novamente no forms.
Dê uma olhada também, aqui no fóum, sobre SYNCHRONIZE, que irá encontrar exemplos e informações, como neste tópico:
http://www.glufke.net/oracle/viewtopic.php?t=2924.
qualquer coisa, manda pra gente.
- dr_gori
- Moderador
- Mensagens: 5013
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Mas se a proc ou package for de BANCO, isso não vai funcionar.
Isso porque a execução é passada pra essa procedure no BANCO e enquanto isso, o forms TRAVA!
Só vai liberar depois que a PRC terminar. Daí a execução volta.
UMA FORMA de fazer isso, é executar a package através de uma outra sessão! Daí existem algumas formas de fazer isso:
1. Criar um OUTRO forms que chama o programa. Daí você abre esse form com OPEN_FORM e não com CALL_FORM. Dessa forma, haverá uma outra sessão e não vai impactar a primeira.
2. Outra forma é executar via JOB, a sua procedure. Tipo, cria um JOB que executa a procedure, depois exclui o job. Dessa forma a execução fica em paralelo também.

Isso porque a execução é passada pra essa procedure no BANCO e enquanto isso, o forms TRAVA!
Só vai liberar depois que a PRC terminar. Daí a execução volta.
UMA FORMA de fazer isso, é executar a package através de uma outra sessão! Daí existem algumas formas de fazer isso:
1. Criar um OUTRO forms que chama o programa. Daí você abre esse form com OPEN_FORM e não com CALL_FORM. Dessa forma, haverá uma outra sessão e não vai impactar a primeira.
2. Outra forma é executar via JOB, a sua procedure. Tipo, cria um JOB que executa a procedure, depois exclui o job. Dessa forma a execução fica em paralelo também.

-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes