Array
(
)

Problemas com stored procedure ?

Jc_analista
   - 23 set 2004

Utilizo delphi 6 e firebird 1.5, tenho uma stored procedure que funciona perfeitamente. Só que coloquei esta procedure dentro de um timer da seguinte maneira:#Código


procedure Tform1.timer1......
begin
timer1.enabled:=false;
storedproc.parambyname(´num´).asstring:=´1´;
storedproc.execproc;
showmessage(storedproc.parambyname(´resp´).asstring);
timer1.enabled:=true;
end;




Se eu colocar esta stored procedure para executar de dentro de um botão ela funciona perfeitamente se eu colocar dentro do timer não traz nada como resposta. Não sei mais o que fazer, já deletei a stored procedure e coloquei, já coloquei um sleep(5000) depois que a executo e nada.
Se alguém puder me ajudar ?


Motta
   - 23 set 2004

não deveria ter nada a ver, bote num bloco protegido (try excepty) e veja se houve erro na execução


Gandalf.nho
   - 23 set 2004

Está abrindo uma transação para a procedure?


Beppe
   - 23 set 2004

Verificou se o timer está habilitado e interval com um valor correto?


Jc_analista
   - 23 set 2004

Não esta ocorrendo erro, utilizo o ibexpert e lá ela roda normalmente eu tenho um objeto da paleta interbase que e uma ibtransaction que esta relacionado com o ibdatabase o estranho e que se eu colocar em um botão ele funciona corretamente quando clico no botão. O timer eu ativo no evento oncreate do form e o intervalo esta correto


Jc_analista
   - 23 set 2004

fiz um teste coloquei na ultima linha da procedure um valor como resposta tipo resp:=15;
e fiz o teste, não esta executando a stored procedure;
mas quando faço a execução passo a passo ele passa em cima da linha storedproc.execproc; não tem nada desviando.


Beppe
   - 23 set 2004

#Código

fiz um teste coloquei na ultima linha da procedure um valor como resposta tipo resp:=15;


Na última linha deve haver um SUSPEND. O estranho é que vc disse que no botão funciona...


Jc_analista
   - 23 set 2004

Desculpe última linha antes do suspend, fiz uma aplicação nova e coloquei do mesmo jeito que estava na antiga e funcionou.

Só que este e meu form principal, não posso perde-lo


Beppe
   - 23 set 2004

Vc deve ter mexido em algo mais depois de ter testado com o botão. O param ´resp´ está configurado como de saída? O ShowMessage exibe o que?


Vinicius2k
   - 23 set 2004


Citação:
fiz uma aplicação nova e coloquei do mesmo jeito que estava na antiga e funcionou.


Mas a aplicação entra ou não no evento OnTimer do Timer ?
Verifique no Object Inspector se o Evento OnTimer do Timer está devidamente associado à procedure TForm1.Timer1OnTimer...

T+


Jc_analista
   - 23 set 2004

entra no evento on timer e o parametro resp e de saida. Não tem lógica, esse erro.


Beppe
   - 23 set 2004


Citação:
entra no evento on timer e o parametro resp e de saida. Não tem lógica, esse erro.

E o que o ShowMessage mostra?


Jc_analista
   - 23 set 2004

resolvi, apaguei a stored procedure no banco, apaguei tudo relacionado com ela compilei, fiz tudo de novo e funcionou e pau do delphi. valew todo mundo que me ajudou.