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

Delphi

12/07/2013

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

Curtidas 0

Respostas

Claudio Andrade

Claudio Andrade

12/07/2013

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.
GOSTEI 0
Eduardo Mendonça

Eduardo Mendonça

12/07/2013

Bom dia.
Estou com um problema parecido. só que mo meu projeto ele apaga quando clico no DbEdit .
uso Delphi 7
GOSTEI 0
Járabe Emanuel

Járabe Emanuel

12/07/2013

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.
GOSTEI 0
Ricardo

Ricardo

12/07/2013

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.
GOSTEI 0
Eduardo Mendonça

Eduardo Mendonça

12/07/2013

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
GOSTEI 0
Claudio Andrade

Claudio Andrade

12/07/2013

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.
GOSTEI 0
Luciano Moraes

Luciano Moraes

12/07/2013

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