Número Absurdo que surge do nada

Delphi

23/02/2016

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

Curtidas 0

Melhor post

Miranda

Miranda

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.
GOSTEI 1

Mais Respostas

Raylan Zibel

Raylan Zibel

23/02/2016

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?
GOSTEI 0
Miranda

Miranda

23/02/2016

É 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.
GOSTEI 0
Raimundo Pereira

Raimundo Pereira

23/02/2016

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

Miranda

23/02/2016

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.
GOSTEI 0
Raylan Zibel

Raylan Zibel

23/02/2016

É 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?
GOSTEI 0
Miranda

Miranda

23/02/2016

É 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;
GOSTEI 0
Raylan Zibel

Raylan Zibel

23/02/2016

É 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.
GOSTEI 0
Miranda

Miranda

23/02/2016

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.
GOSTEI 0
Raylan Zibel

Raylan Zibel

23/02/2016

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]?
GOSTEI 0
Miranda

Miranda

23/02/2016

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.
GOSTEI 0
Raylan Zibel

Raylan Zibel

23/02/2016

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?
GOSTEI 0
Miranda

Miranda

23/02/2016

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.
GOSTEI 0
Marcos P

Marcos P

23/02/2016

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 !
GOSTEI 0
Raylan Zibel

Raylan Zibel

23/02/2016

É 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?
GOSTEI 0
Raylan Zibel

Raylan Zibel

23/02/2016

Não sei setar a pergunta como RESOLVIDO.


Eis outra boa pergunta... rs
GOSTEI 0
Raimundo Pereira

Raimundo Pereira

23/02/2016

Acredito que apenas moderadores possam setar o post como resolvido!
GOSTEI 0
POSTAR