Erro: Invalid Argument to date Encode

21/09/2004

Olá colegas!!
Estou me deparando com o erro acima quando vou gravar um registro ou alteração no meu Sistema.
Detalhes:
* Uso Delphi 6 e Interbase 6.
* O erro não acontece em qualquer gravação dentro do sistema.
Acontece quando estão envolvidas operações com data.
Ou quando eu uso DECODEDATE para ´quebrar´ uma data de vencimento antiga, guardo o mês e ano e insiro o novo dia de vencimento que é digitado pelo usuário em um TEdit. Eu transforno o conteúdo do TEdit com ´StrToInt´ e depois uso ENCODEDATE.
* O campo DataVenc na tabela é do tipo TimeStamp.
DETALHE PRINCIPAL:
** ESTE PROBLEMA SÓ ACONTECE NO COMPUTADOR DO MEU CLIENTE QUE USA WINDOWS XP.
No meu computador com Windows 98, ele funciona normalmente sem qualquer problema.
Agradeço pela atenção!!!


:arrow: [color=red:3db6c7c350]Título alterado pelo Moderador oTTo.[/color:3db6c7c350]
:idea: [color=blue:3db6c7c350]Seja mais claro no título.[/color:3db6c7c350]
:idea: [color=blue:3db6c7c350][url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=16976]Saiba como obter resposta rápida..[/url][/color:3db6c7c350]
:idea: [color=blue:3db6c7c350]Leia sempre [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta.[/url][/color:3db6c7c350]
:idea: [color=blue:3db6c7c350]Use sempre o Link [url=http://delphiforum.icft.com.br/forum/search.php][img:3db6c7c350]http://delphiforum.icft.com.br/forum/templates/subSilver/images/icon_mini_search.gif[/img:3db6c7c350] Pesquisar[/url] no topo da Página.[/color:3db6c7c350]
:idea: [color=blue:3db6c7c350]Evite usar caixa alta nos títulos.[/color:3db6c7c350]


Weliton Oliveira

Respostas

21/09/2004

Welter

Se me permite vou dar um chute.

Como voce sabe o delphi para operar com datas usa a formatacao que o Windows tem, ja o banco pode usar uma formatacao diferente, neste caso o Delphi (drivers, etc) passam para o banco uma informacao que ele julga certa mas que o banco julga incorreta.
Imagino que a inversao de mes e dia seja a causa deste problema, experimente fazer testes com datas como 12/12, 01/01 etc e ver se assim funciona corretamente, depois faca o mesmo processo com datas como 20/12 ou 12/20 e comprove se este e o erro.

Abração

Marcelo Welter
www.welter.pro.br/sultan


Responder Citar