RESPONDER UNA PREGUNTA

Si para responder la pregunta, crees necesario enviar un archivo adjunto, puedes hacerlo a traves del correo [email protected]

    Pregunta:  66073 - SETENVIRONMENTVARIABLEA
Autor:  Jesica Brites
Hola mi nombre es jesica,

Explicacion:

La idea es realizar mejoras en un sistema para evitar la necesidad de configurar variables de entorno en la regedit de manera de no efectar el entorno para otros sistemas convivientes.

Lo que se quiere hacer es setear las variables de entorno desde adentro de la aplicación de powerBuilder 12.5, con un win7 o XP.

Se supone que corresponde usar la función SetEnvironmentVariableA, pero no logro que haga su trabajo, luego de convocarla las variables de entorno pero las mismas no son seteadas correctamente. Se probo tanto en Windows 7 como en XP, aquí paso un ejemplo del código probado, la variable ls_formato_ora_lang nos queda con valor *UNDEFINED*. La variable ll_control queda con valor 1.

//Declaracion de local external function
Function long SetEnvironmentVariable(string lpName , string lpValue ) Library "kernel32.dll" Alias for "SetEnvironmentVariableA"

String ls_variable, ls_valor, ls_formato_ora_lang Long ll_control

ls_variable=' NLS_LANG'
ls_valor=''AMERICAN_AMERICA.US7ASCII '
ll_control=SetEnvironmentVariableA(ls_variable, ls_valor)

ContextKeyword lcxk_base
string ls_bandera
string ls_values[]
this.GetContextService("Keyword", lcxk_base) //Se controla variable de entorno NLS_LANG lcxk_base.GetContextKeywords("NLS_LANG", ls_values) IF
Upperbound(ls_values) > 0 THEN
ls_formato_ora_lang = ls_values[1] ELSE
ls_formato_ora_lang = "*UNDEFINED*"
END IF
IF ls_formato_ora_lang <> 'AMERICAN_AMERICA.US7ASCII' THEN
MessageBox("Atención!", "El Idioma en el Cliente Oracle 11 es incorrecto (" &
+ ls_formato_ora_lang + ")" ,StopSign!)
RETURN -1
END IF


Nombre
Apellidos
Correo
Comentarios