Problema con sistema multiusuario

Hola amigo ¿Que tal?. Tengo un problema que me esta costando quisiera que me ayudaras. Cree un sistema en visual Foxpro 9.0 y quiero que funcione en varias Pc´s, o al menos en 2. Las tengo en una pequeña red domestica. Ya compartí las carpetas donde esta todo mi proyecto, tengo generado el ejecutable pero el inconveniente es que yo por ejemplo si lo ejecuto en la Pc donde esta almacenado mi ejecutable todo bien, pero si lo ejecuto desde otra Pc, me dice que "Error del programa", que no se encuentra un determinado archivo en la ruta que me especifica. Obtuve el nombre del Pc donde esta almacenado el ejecutable y lo incluyo en las rutas que defino en mi PRG de inicio, pero siempre me da el mismo error. Creo que esto ocurre al momento que me muevo a otra dirección dentro del sistema. Este es el código que utilizo en el Prg de inicio.

SET RESOURCE off
SET REFRESH TO
1,1
SET EXCLUSIVE OFF
SET UNIQUE OFF
SET AUTOSAVE ON
SET OPTIMIZE ON
SET REPRO TO AUTOMATIC
SET MULTILOCKS ON
SET SAFETY OFF
*!*DEACTIVATE WINDOW "ESTANDAR"
_screen
.visible = .F.
* ESTABLECEMOS LA RUTA POR DEFECTO
SET DEFAULT TO
"PC1\C:\SYSTEM JUDA CONTROL"
SET PATH TO
"PC1\C:\SYSTEM JUDA CONTROL\Base Datos","PC1\C:\SYSTEM JUDA CONTROL\Consultas","PC1\C:\SYSTEM JUDA CONTROL\Formularios","PC1\C:\SYSTEM JUDA CONTROL\Gifs","PC1\C:\SYSTEM JUDA CONTROL\Iconos","PC1\C:\SYSTEM JUDA CONTROL\Imagenes","PC1\C:\SYSTEM JUDA CONTROL\Menus","PC1\C:\SYSTEM JUDA CONTROL\Prg","PC1\C:\SYSTEM JUDA CONTROL\Reporte"
*Llamamos al formulario introduccion
DO FORM
Presentacion.scx
READ EVENTS
_screen.Visible = .T.
QUIT

De igual manera pasa con algunas imagenes de los formularios, no aparecen en la otra PC.

Ayudame por favor que me tiene agobiado .

Respuesta
1

Me imagino que lo que sucede es que el programa no puede encontrar los archivos específicos y otra cosa si tu aplicación utiliza imágenes compilalas cuando creas el ejecutable de esta manera no tendrás que irlas copiando siempre que copies tu aplicación a otra carpeta...

¿Por qué no colocas las rutas en una archivo que se encuentre en el directorio de tu aplicación?

Algo mas o menos así:

Supongamos que el archivo se llama de configuración se llama "Config.ini" y en dicho archivo tienes las rutas de las tablas tendríamos mas o menos una linea algo así:

\\server\Miaplicacion

Luego solo seria cuestión de llamar dicha ruta desde el archivo de configuración.

Cualquier cosa estoy para ayudarte.

No entendí eso de las imágenes compiladas. De hecho no entendí mucho lo que me respondió amigo. Yo tengo un PRG de inicio en el cual quiero establecer las rutas donde están mis datos y mis formularios.¿ Como puedo solucionar este inconveniente? y ¿Si una vez que yo establezca mis rutas predeterminadas en el PRG inicial, dentro de un formulario en un evento especifico una ruta, que se yo, para llamar a un formulario o ejecutar una consulta, habrá algún problema con esta parte que me haga caer siempre en el mismo error ya que me estoy moviendo a otra ruta?. Gracias por tu ayuda

Ok... las imágenes compiladas son las que se compilas cuando creas el ejecutable.

Te decía que en mi caso yo tengo un archivo de configuración que se llama "Config.ini" en este archivo guardo todas las rutas tanto a las tablas como a otros archivo necesarios para el correcto funcionamiento de la aplicación.

Bueno luego de que tengo las rutas en el archivo las llamo desde mi aplicación. De esta manera si mueves tu aplicación o un directorio distinto solo tendras que editar el archivo "config.ini" y colocar en el las nuevas rutas!

Saludos, si no sabes como hacerlo te puedo explicar!

La verdad me gustaría que me ayudaras ya que yo solo tengo un PRG inicial desde el que llamo a mi formulario principal y es el código que te mostré al inicio de esta pregunta. ¿Como creo un archivo *.ini, como lo llamo y desde donde lo llamo? ademas dentro de este archivo INI como creare las rutas ¿hay algo especifico que tengo que hacer? si me lo puedes ejemplificar te agradecería mucho. Gracias

Bueno la verdad es muy sencillo

Abres el bloc de notas colocas las rutas que utilizaras y luego lo guardas con extensión ".ini"

Mas o menos algo así

1.- Abro el bloc de notas

2.- Coloco dos rutas una para las tablas y otra para las imágenes

\\Server\Mi_Aplicacion

\\server\Mi_Aplicacion\Pict

3.- Guardo el archivo con extensión ".Ini" con el nombre "Config" quedando ya con la extensión de esta manera "Config.ini"

4.- Lo llamo desde mi aplicación de esta manera
Public URT&&Establecemos una variable publica para tener acceso en cualquier momento a ella
SET MEMOWIDTH TO 999
URT=FILETOSTR('Ur.ini')&&Cargamos el texto del archivo de configuración para la variable "URT" en este caso cargamos la información contenida en el archivo "Config.ini"
*Ahora bien si queremos saber la dirección de las Tablas solo extraigamos la 1era ruta que colocamos en el archivo de configuración, lo hacemos así
Ruta=MLINE((URT),1)&&Extraermos la primera linea, si quieres extraer otra linea distinta de 1 solo coloca el numero que corresponda a la linea donde esta la ruta
*Ruta=MLINE((URT),2)&& Aquí se extrae la ruta que se encuentra en la linea tres de nuestro archivo de confifuracion
*Supongamos que en el directorio de las tablas tengo una que se llama Usuarios, entonces para llamarla seria de la siguiente manera
Ruta=MLINE((URT),1)&&La ruta de mis tablas se sitúa en la linea 1 de el archivo de configuración
use (Ryta+"\Usuarios.dbf")&&Así abrimos la tabla

Espero haber explicado bien, cualquier duda estoy para ayudar

Nota: 1.- El archivo de configuración debe estar en el directorio de nuestra aplicación

2.- La variable que se declara en este ejemplo(Urt) solo se debe declarar al principio de la aplicacion

Muchas gracias perdona que no contestara antes, pero es que me ausente por motivos ajenos a mi voluntad, de hecho ya hice algunas pruebas y me funciono solo tengo que revisar para ver en que momento hago el llamado dentro de todo el programa. Gracias de nuevo por tu amabilidad

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas