Hola, Víctor.
>En un ambiente citryx nuestra aplicacion en fox corre bien pero un bendito formulario que hace uso de la funcion getfile() cambia como por arte de magia el
>set defa to a otra ruta , entonces el formulario no puede encontrar los reportes.
>Lo curioso es que si uno sale del formulario y va a otros el set default to vuelve a la ruta correcta.
No se porque esté pasando. No tengo memoria de que nos haya pasado en ninguna instalación con Citrix, pero en todo caso, lo más recomendable es encapsular la función getfile() en una propia (como BuscarArchivo()). Sería algo como:
Function DameArchivo( ;
cFileExtensions as String,
cText as String, ;
cOpenButtonCaption as String, ;
nButtonType as Number, ;
cTitleBarCaption as String ;
) as String
local lcReturn as String, lcDirectory as String
lcDirectory = Sys(5)+Curdir()
lcReturn = GetFile( cFileExtensions, cText, cOpenButtonCaption, nButtonType, cTitleBarCaption )
Cd ( lcDirectory )
return lcReturn
Si habitualmente no usas todos los parámetros de GetFile puedes ahorrarte pasarlos.
Lo mismo te recomiendo que hagas para encapsular el comando REPORT FORM sino lo hiciste aún. Si imprimes con Acrobat Writer para generar un PDF, por ejemplo, y el usuario se mueve a otro directorio para seleccionar donde guardar el archivo, al terminar de imprimir el directorio activo queda apuntando allí, lo que puede ocasionar problemas en la aplicación.
Saludos,