Cordial Saludo,
Resulta que estoy desarrollando una aplicacion en Delphi 2007 que se conecta a una BD en Oracle 9i
Mi problema es el siguiente tengo una instruccion para insertar unos valores decimales en un campo de tipo number, pero me generaba un error de tipo "Invalid Number" buscando un poco, encontre que tenia que añadir la instruccion Código Delphi
[-] DecimalSeparator := '.';
Hasta aca todo perfecto, pero en una ocasion probe mi aplicacion en otro computador y me volvio a generar el "Invalid Number" entonces comente la linea del DecimalSeparator y continuo trabajando normalmente.
Cuando comprobe la configuracion reginoal de los dos computadores esta exactamente igual, he probado la aplicacion en varios PC's desde eso y en algunos necesito definir el DecimalSeparator y en otros no.
Por ultimo le informo que mi aplicacion se conecta simultaneamente a varios servidores oracle, y no importa como suba el campo a la BD (con ',' o '.') estos quedan almacenados en los diferentes servidores separados por punto (.).
Incluso agregue este codigo que encontre en otro foro y no importa cual sea el PC me establece el DecimalSeparator como ',' y el ThousandSeparator como '.' pero igual al tratar de subir a la BD saca el mismo error en los mismos computadores
Código Delphi
[-]
var
Decimal: PChar;
Thousand: PChar;
tmp: string;
begin
//get the decimal separator
Decimal := StrAlloc(10); //get the memory to the local decimal point value
GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SDECIMAL, Decimal, 10); //get the value
tmp := Decimal;
DecimalSeparator := tmp[1];
//get the thousand separator
Thousand := StrAlloc(10);
GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_STHOUSAND, Thousand, 10);
tmp := Thousand;
ThousandSeparator := tmp[1];
Espero haber sido claro en mi explicacion y que puedan darme alguna ayuda