Variavel do tipo Currency no Delphi7

Delphi

10/03/2014

Olá amigos, muito bom dia !
Estou com uma grande duvida e sem explicação referente a uso de variavel do tipo currency, tenho o seguinte código :

function TFrm_Finaliza_Venda.checa_limite(vCOD_CLI: integer): bool;
var vLimite: Currency;
Begin
  // === Capta o Limite de Crédito do Cliente ====
  vLimite:=0;
  IBQuery1.Close;
  IBQuery1.SQL.Clear;
  IBQuery1.SQL.Text:='select * from CLIENTES where ID=:pID';
  IBQuery1.ParamByName('pID').AsInteger := vCOD_CLI;
  IBQuery1.Open;
  //Limite.Last;
  vLimite:=IBQuery1.FieldByName('LIMITE_CREDITO').AsCurrency;
  If IBQuery1.FieldByName('BLOQUEADO').Value<>'N' Then
  Begin
     Menssagem(1,'CADASTRO BLOQUEADO !');
     result:=false;
     exit;
  End;
  // =============================================
End;


Debugando este código o campo IBQuery1.FieldByName('LIMITE_CREDITO').AsCurrency deveria retornar R$ 100,51 como é visivel pelo debug, mas a variavel vLimite assume 0 !?

Alguem sabe me dar uma luz ????
Obrigado !
Roberto Jr

Roberto Jr

Curtidas 0

Respostas

Luiz

Luiz

10/03/2014

Apelas o LIMITE_CREDITO vem zerado? os outros campos vem com os valores normalmente?
GOSTEI 0
Roberto Jr

Roberto Jr

10/03/2014

Bom dia amigo !

Somente a variavel vLimite vem com valor 0
GOSTEI 0
Alison Bissoli

Alison Bissoli

10/03/2014

Olá, vejo que usa um objeto já instanciado, há algum evento disparado no tfield ou no objeto de dados?
GOSTEI 0
Luiz

Luiz

10/03/2014

Tente fazer um teste, tire essa parte:

vLimite:=IBQuery1.FieldByName('LIMITE_CREDITO').AsCurrency;

e coloque por exemplo:

vLimite:=1.60;

Sempre utilizei o tipo Currency e nunca tive problemas, deve ser alguma coisa com seu código ... Se o retorno for 0 mesmo assim, mostre a parte do seu código onde esta mostrando essa variável ...
GOSTEI 0
POSTAR