DBEdit apagando os dados ao sair (um pouco de urgência)

12/07/2013

0

Boa tarde a todos,

Estou finalizando um projeto de médio porte e sem mais nem menos 2 campos em uma determinada tela começaram a simplesmente apagar as informações quando tiro o foco deles.

Estou usando a tradicional receita de dbx + clientdataset e firebird 2.5 usando o delphi xe3.

O estranho é que os outros campos não apresentam esse erro, já criei outro campo, troquei o dbedit (uso o nativo do delphi) pelos infopower e também o do rx e mesmo assim continua o mistério.

Coloquei um breakpoint no onexit para ver se achava algo, e ele nem se quer entra.

Se alguém poder me dar uma luz ficarei muito agradecido.

Abraços.
Claudio Andrade

Claudio Andrade

Responder

Posts

12/07/2013

Claudio Andrade

Estou usando o TUser para controle de acesso e percebi que quando desabilito ele funciona normalmente, porém o que está me deixando grilado é o fato de somente esta ocorrendo somente nesses 2 BDEdit´s.

Se tiver alguém que poder dar uma força eu irei ficar muito grato.
Responder

06/12/2013

Eduardo Mendonça

Bom dia.
Estou com um problema parecido. só que mo meu projeto ele apaga quando clico no DbEdit .
uso Delphi 7
Responder

06/12/2013

Járabe Emanuel

Galera esse problema de vcs e sinistro, mas vamos lá v se resolvemos essa onça!

Vamos fazer uns teste para tentar descobrir onde está o erro.

1º - Coloque um DbGrid e link na tabela, ao clicar no DbEdit e o que estiver escrito apagar veja se apagou também no DBGrid, pois teoricamente é pra apagar pois a tabela é a mesma. se Apagar somente o no DeEdit, ele está ativando o DisplayLabel do componente.
2º - Coloque em algum lugar do form um ponto de compilação para vc tentar encontrar onde ele linda esse campo,
3º - Verifique se vc não está abrindo varias vezes a mesma tabela de forma redundante.

Espero ter ajudando de alguma forma.
Responder

06/12/2013

Ricardo

Por acaso esse DBedit esta retornando valores de outra tabela? Se for, isso acontece no momento em que o foco é transferido para outro componente, porque o DBedit é em tese um componente para inserção de dados. Nessa situação eu costumo substituir os DBedit que recebe dados de outra tabela por Edit e apenas crio a rotina para inserir esses dados na tabela que desejo.

Outra coisa que eu acho que poderia ser feito seria retornar esses para um outro lugar, um arquivo de texto ou ate mesmo algum componente oculto e no momento de salvar essas informações repassa-las para o DBedit ou então ainda tentar colocar esses DBedit em modo somente leitura.
Responder

09/12/2013

Eduardo Mendonça

Eu resolvi colocando o texto direto no dataset
DataModuleGeral.TbContasPagar.FieldByName('nome do Campo').Text := 'xxxx';

e deu certo quando clico no dbedite não some
Responder

15/12/2013

Claudio Andrade

Pois eh...

No meu caso parece ser um pouco mais complicado. Como tinha dito anteriormente, estou usando o TUsers para controle de acesso e auditoria do sistema e o problema só aparece quando coloco o dataset para ser auditado, ao tirar a auditoria funciona normalmente.

A impressão que tenho é que o TUsers esta criando uma camada entre o dataset e o dbedit quando ativo a auditoria, e ao desativar simplesmente volta ao normal.

Já entrei contato com Jackson pelo forum e e-mail e não tive resposta de qual seria o procedimento para resolver o problema.

Outra coisa eu está me deixando grilado é que só aparece esse problema em 3 campos em todo o sistema, e em 2 desses campos são de informações importantes para a empresa e por conta disso tive que desativar a auditoria das telas e fico rezando para não ter problema e ser necessário usar a auditoria.


Abraço a todos.
Responder

26/11/2014

Luciano Moraes

Olá pessoal!
Eduardo, você colocou isto no evento de saída?
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar