Fórum Delphi 7 IB6 - Êrro na execução muito esquisito. #42257
11/02/2004
0
Estou desenvolvendo uma aplicação usando o Delphi 7 e o IB6 com DBX, clientdatasets, Provider, etc. Acontece que quando eu dou o Post na tabela:
dm.CDSMovEst.Post;
dm.CDSMovEst.ApplyUpdates(-1);
em tempo de execução, dá o seguinte erro, que não tem nada a ver, eu acho:
Project Estoque raised exception class EinvalidOperation with message ´cannot focus a disabled or invisible window´. Process stop. Use step or run to continue.
Eu usei o Debug e verifiquei que ele para na instrução do Post. Não estou tentando fazer ficar visible ou disabled nenhum componente. A coisa é muito estranha porque estou usando o mesmo método com outras tabelas e funciona perfeitamente.
Obrigado,
Airton
Airton Santos
Curtir tópico
+ 0Posts
11/02/2004
Maicongabriel
Isso não tem nada a ver com o banco de dados, você esta sim, de alguma forma tentando setar o foco em um componente que não esta ativo(enabled) ou visivel(visible); Talvez você possa estar tentando fazer isso em algum evento como AfterPost, BeforePost, dai o erro no momento do Post! :?
Gostei + 0
11/02/2004
Airton Santos
Eu verifiquei se nos eventos do ClientDataSet (CDSMovEst) havia alguma coisa no BeforePost e AfterPost ou qualquer outro evento, mas infelizmente estava tudo limpo. Não havia nada.
Pelo Debug eu notei que isso dá no Post e, se eu coloco // na frente do Post, dá no ApplyUpdates. Me parece que minha tabela não aceita atualização !?. :? :?:
Eu vou olhar no IBConsole se tem alguma coisa errada com a tabela.
Obrigado,
Airton
Gostei + 0
17/02/2004
Brenoinfo
verifique no evento on click do seu botao que esta executando o post se vc nao esta mnadando voltaro foco para algum campo inexistente ou invisivel,,. como citou nosso amigo ai logo acima,..
exemplo :
edit1.setfocus;
edit2.setfocus;
btn?.setfocus;
Gostei + 0
17/02/2004
Airton Santos
O negócio é o seguinte: - Eu desisti de tentar saber o que estava acontecendo pelo seguinte fato:
Fiz uma aplicação bem pequenina com dois botões - um de gravar e outro de sair. No botão de gravar eu dei append no CDS, coloquei algumas informações nos campos da tabela e depois dei Post e ApplyUpdates.
Funcionou legal.
Aí eu peguei a outra aplicação e fui tirando componentes e testando para ver se eu achava o componente ou rotina com problema.
AGORA, PASMEM !! As duas aplicações ficaram iguais (exatamente iguais), linha por linha, componente por componente....mas, a aplicação que funcionava continuou funcionando e a que dava problema continuou dando problema.
Bom, depois dessa eu fui dormir com a cabeça pegando fogo. No dia seguinte eu joguei fora a aplicação com problema e fiz de novo e aí não apresentou mais o problema.
DÁ PRA ENTENDER ???? Só pode ser erro de compilador ou coisa parecida.
Mas, obrigado a todos
Airton
Gostei + 0
18/02/2004
Maicongabriel
Gostei + 0
18/02/2004
Afarias
|parecida.
Hehehehe... no meu trabalho ocorre isso muitas vezes... sempre q vou dar uma olhada foi alguma coisinha q escapou ao desenvolvedor e praticamente nunca um bug (da ferramenta)
T+
Gostei + 0
16/03/2004
Airton Santos
Eu acho que ao inves de rir de certas afirmacões, voce deveria ir mais fundo e reconsiderar sua opinião, pois só para exemplificar.
No DBCHART, em relacão ao campo NUMERIC(XX,X) cujo formato é TfmtBCD, existe um BUG grosseiro quando se usa a funcão SUM(campo) as TOTAL, por exemplo, pois esse campo simplesmente não é listado na relacão de campos do DATASET.
E, sabe como eu descobri isso ??
Entrando num site americano e localizando uma dúvida semelhante para ADO.
A solucão é mudar o formato do campo no dataset para float. O próprio fabricante do DBCHART admitiu o erro e corrigirá em versões posteriores.
HEHEHEHE !!!
Airton
Gostei + 0
16/03/2004
Afarias
Ai ai... pois é, esses caras do DBChat são fogo! :roll:
T+
Gostei + 0
11/05/2011
Andrelino Souza
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)