Delphi 7 IB6 - Êrro na execução muito esquisito.
Pessoal,
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
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
Curtidas 0
Respostas
Maicongabriel
11/02/2004
[quote:3e5b90d5c9=´Airton dos Santos´]Project Estoque raised exception class EinvalidOperation with message ´cannot focus a disabled or invisible window´. Process stop. Use step or run to continue.[/quote:3e5b90d5c9]
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! :?
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
Airton Santos
11/02/2004
Caro Maicongabriel,
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
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
Brenoinfo
11/02/2004
caro amigo ,,,
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;
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
Airton Santos
11/02/2004
Pessoal,
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
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
Maicongabriel
11/02/2004
:shock: as vezes, tirar e repor um determinado componente tambem ´corrige´ essas loucuras não muito freqüentes...
GOSTEI 0
Afarias
11/02/2004
|DÁ PRA ENTENDER ???? Só pode ser erro de compilador ou coisa
|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+
|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
Airton Santos
11/02/2004
A.FARIAS,
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
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
Afarias
11/02/2004
Cara... tu desenterrou essa heim?!
Ai ai... pois é, esses caras do DBChat são fogo! :roll:
T+
Ai ai... pois é, esses caras do DBChat são fogo! :roll:
T+
GOSTEI 0
Andrelino Souza
11/02/2004
E ai galera!
Isso já aconteceu comigo.
Eu tinha colocado um DbRadioGroup e no Onchange tinha comandos setando o foco de acordo com o index do DbRadioGroup, ai quando eu dava um post ou cancel no clientDataSet retornava esse erro, fiquei bom tempo pra descobrir.
GOSTEI 0