Número Absurdo que surge do nada

23/02/2016

0

Galera... Estou com um problema chato, possuo um computador terminal com meu projeto instalado nele e outros computadores no servidor que acessam esse projeto.
O problema é o seguinte, quando acesso meu projeto pelo computador terminal e vou na tela Contas à Receber e seleciono um registro SEM desconto, no campo Desconto aparece um número absurdo, já quando eu acesso a mesma tela pelo servidor, o campo Desconto não aparece com este número, alguém sabe o que pode ser?
Uso Delphi 7 e Firebird 2.5
Miranda

Miranda

Responder

Post mais votado

23/02/2016

Valeu pela ajuda galera juntando a dicas de vocês consegui encontrar o erro!
Era uma variavel que não foi inicializada corretamente, estranho era dar erro em um PC apenas, mas Obrigado!
Não sei setar a pergunta como RESOLVIDO.

Miranda

Miranda
Responder

Mais Posts

23/02/2016

Raylan Zibel

Galera... Estou com um problema chato, possuo um computador terminal com meu projeto instalado nele e outros computadores no servidor que acessam esse projeto.
O problema é o seguinte, quando acesso meu projeto pelo computador terminal e vou na tela Contas à Receber e seleciono um registro SEM desconto, no campo Desconto aparece um número absurdo, já quando eu acesso a mesma tela pelo servidor, o campo Desconto não aparece com este número, alguém sabe o que pode ser?
Uso Delphi 7 e Firebird 2.5


É uma variavel ou um campo? É uma variavel que não foi inicializada? É um campo que não foi verificado se está null antes de imprimir no form?
Responder

23/02/2016

Miranda

É um CurrencyEdit, é setado no seu DisplayFormat "R$ ,0.00;-R$ ,0.00".
Quando abro o form esse CurrencyEdit recebe o valor que foi setado em uma váriavel, a mesma foi inicializada antes de receber o valor final que vai ser informado no campo.
Responder

23/02/2016

Raimundo Pereira

Ao criar o form set a var para 0,00.
Responder

23/02/2016

Miranda

Ao criar o form set a var para 0,00.

Quando o form é aberta já é setado a var como 0.
Abro o form
- Seto variavel = 0
- Alimento a variavel com a soma dos valores
- Atribuo o valor da variavel no CurrencyEdit

O problema é que em um PC que é o Terminal esse campo Desconto aparece com um número gigante, e nos outros que são do servidor, esse problema não acontece, acredito que a variavél esteja certa pois não é em todos que ocorre o problema, é apenas no PC Terminal.
No caso eu pego um registro sem Desconto, o certo era para vir como "0,0" o valor no CurrencyEdit, mas no PC terminal vem um valor enorme.
Responder

23/02/2016

Raylan Zibel

É um CurrencyEdit, é setado no seu DisplayFormat "R$ ,0.00;-R$ ,0.00".
Quando abro o form esse CurrencyEdit recebe o valor que foi setado em uma váriavel, a mesma foi inicializada antes de receber o valor final que vai ser informado no campo.


Que tipo de variavel voce declarou?
Responder

23/02/2016

Miranda

É uma variavel Real (chamada "Desc").
Para abrir o form eu clico em uma botão "Baixar Parcela" que é onde eu alimento o variavel "Desc" com a soma de dois campos, então faço: frm_contas_pagar_lote.txt_desconto.Value := desc;
Responder

23/02/2016

Raylan Zibel

É uma variavel Real (chamada "Desc").
Para abrir o form eu clico em uma botão "Baixar Parcela" que é onde eu alimento o variavel "Desc" com a soma de dois campos, então faço: frm_contas_pagar_lote.txt_desconto.Value := desc;


Faz um teste declarando como Float ou Double. Ou mesmo Currency.
Responder

23/02/2016

Miranda

Então Raylan, variavel float no Delphi é Real, e Double acredito que continue igual, pois o erro só ocorre em um PC, nos outros vai de boas, o problema de testar Double e Currency é ter que ir atualizar no Cliente para fazer o teste.
Responder

23/02/2016

Raylan Zibel

Então Raylan, variavel float no Delphi é Real, e Double acredito que continue igual, pois o erro só ocorre em um PC, nos outros vai de boas, o problema de testar Double e Currency é ter que ir atualizar no Cliente para fazer o teste.


Ok. Você tem essa varivável declarada com mesmo nome em outra parte do sistema [publica/global]?
Responder

23/02/2016

Miranda

Tenho ela declarada no meu método btnBaixarClick, mas existe uma com o nome igual em uma outra tela que é public.
Se eu usar Ctrl+Click na variavel o delphi me informa que estou usando a variavel do meu metodo mesmo.
Responder

23/02/2016

Raylan Zibel

Tenho ela declarada no meu método btnBaixarClick, mas existe uma com o nome igual em uma outra tela que é public.
Se eu usar Ctrl+Click na variavel o delphi me informa que estou usando a variavel do meu metodo mesmo.


E vc não pode trocar o nome da variavel, compilar e testar nesse computador? Não é possível que nesse computador a pessoa esteja fazendo o processo de uma forma que voce nao previu no codigo?
Responder

23/02/2016

Miranda

Ai que esta o problema, só ocorre este erro no computador do cliente, e em um especifico, já fiz o teste com 3 computadores da empresa e em 2 do cliente, e só acontece este erro no computador do cliente que é o Terminal, nos outros do servidor, usando o mesmo registro e fazendo os mesmos passos, não ocorre.
Responder

23/02/2016

Marcos P

Você consegue debugar na máquina em que o problema ocorre ?

Senão for possível, faça pelo menos um tratamento de exceção qualquer para verificar os valores da varável durante o processo !
Responder

23/02/2016

Raylan Zibel

É uma variavel Real (chamada "Desc").
Para abrir o form eu clico em uma botão "Baixar Parcela" que é onde eu alimento o variavel "Desc" com a soma de dois campos, então faço: frm_contas_pagar_lote.txt_desconto.Value := desc;


Os campos que voce usa pra fazer a soma poderiam estar vindo com valores inválidos? Tem nessa conta alguma variavel do tipo Word?
Responder

23/02/2016

Raylan Zibel

Não sei setar a pergunta como RESOLVIDO.


Eis outra boa pergunta... rs
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