FoxPro/Visual FoxPro - Ejecutable en red

 
Vista:

Ejecutable en red

Publicado por GABRIELA (83 intervenciones) el 24/03/2001 23:30:05
Hola a todos:
Tengo un problema, he creado mi aplicacion y con el asistente de instalador he creado mi aplicacion en red, bueno la cuestion es que me funciona bien pero solamente en mi maquina, por que si lo trato de ver en otra computadora por la red, me dice que la base de datos no se encuentra en el disco \"c\" de esa computadora, se que es por que busca mi base de datos en esa maquina y no en la que lo instale, que funciona como el servidor, no se como hacer que funcione o que aplicacion deba de ponerle, se que se relacina algo con lo de direccionar pero no se donde.

Espero su ayuda, muchas gracias.

Gabriela.
Monterrey, Mexico.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ejecutable en red

Publicado por Daniel MM (25 intervenciones) el 26/03/2001 20:32:26
Gabriela, lo que debes hacer es especificar la ruta de defecto y el path de tu sistema.

Por ejemplo que tu sistema este en la carpeta "sistema3" y tus tablas estan en la carpeta "dbfs" dentro de sistema3 (supongo que lo tienes organizado), caso contrario asumo que estan desparramadas en sistema3, entonces:

1. al inicar tu aplicación colocas:
Set Defa To \sistema3
2. ruteas las busquedas (como en DOS)
Set Path to \sistema3;\sistema3\dbfs

Al momento que copies el sistema al servidor solo copias (a la carpeta indicada) las tablas, el ejecutable y copias el \sistema3 los 2 archivos necesarios para que tu aplicación corra sin que los usuarios tengan instalado el Vfox....no te acuerdas cuales son....bueno son:Vfp6r.dll y Vfp6resn.dll, y estan en la carpeta windows\systems.

Lo normal es que la ruta de defecto y rutas de busqueda las tengas en una tabla...(un consejo). y ten presente tambien las instrucciones para trabajo en Red (Flock, Rlock, etc,etc)

Suerte,
Daniel MM
Lima-Perú
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ejecutable en red

Publicado por Giovanni Lancheros M (11 intervenciones) el 27/03/2001 04:37:19
Gabriela te sugiero algo mas sencillo hay va:
donde tu colocas los codigos de configuracion quiero decir los set y los comandos de inicio añade el siguiente codigo:

NombreDeVariable = CURDIR()
SET PATH TO NombreDeVariable

la linea 1 guarda la unidad actual de trabajo y el nombre del directorio predeterminado es decir

NombreDeVariable = c:\directorio en caso de que se ejecute desde el servidor o
NombreDeVariable = x:\directorio en caso de que se corra desde una terminal de red donde x = unidad del servidor

eso ha nivel codigo en tu aplicacion. y despues no es sino configurarar cada terminal de red. es decir instalar los archivos de soporte (Vfp6r.dll y Vfp6resn.dll) y crear los accesos directos al programa ejecutable desde cada escritorio.
Espero te sirva... al menos yo lo manejo asi.
si tienes alguna duda consultame. [email protected]
Desde Bogota - Colombia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ejecutable en red

Publicado por Claudio Alberto (64 intervenciones) el 27/03/2001 04:13:55
Hola Gaby!
Yo solucioné el problema de la siguiente manera:
Tienes que crear dos aplicaciones iguales, en primeras instancias, una principal (servidor) y otra para la estación. la principal ya la tienes, para la otra aplicación, (no tienes que poner la base de datos ni las tablas, las que por ende se encuentran en el servidor, el llamaremos maquina1), en alguna parte de la aplicación ya sea el inicio o un oAPP, debes poner lo siguiente.
Set Path to \\Maquina1\c\directorio principal de tu aplicación\directorio base de datos y tablas.
(te recomiendo poner siempre la base de datos y las tablas en una misma carpeta, ya que así podras respaldar sin ningún problema)y así tendras que hacerlo para cada cosa que necesites, ya sea para el archivo de recursos u otros.
a mi me funcionó, espero que a ti también
Suerte !!

Claudio González Soto
Valparaíso - Chile
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ejecutable en red

Publicado por Ampie (42 intervenciones) el 27/03/2001 17:44:12
Hola Gabriela,, yo tuve el mismo problema y veo validas todas las respuestas anteriores,, actualmente estoy trabajando con un compañero en una aplicacion que trabajara en red,, el hace una parte y yo otra,, el problema surgio al momento de unir lo que habiamos hecho,, ya que los entornos de datos eran diferentes.. la solucion que le di fue:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ejecutable en red

Publicado por Ampie (42 intervenciones) el 27/03/2001 18:08:37
1. Colque en el Beforaopentable del entorno de datos de los formularios y de los reportes el codigo escrito abajo..

-Bdatos es una variable que toma la ruta de la base de datos remota,, podes asignarsela a una variable global y leerla desde un fichero .INI,,
- Al cursor de una tabla local,, nombralas por 'Local1', Local2., esto para saber que son locales
*********
=Amembers(aMemDat,This,1)
With This
For i=1 to Alen(aMemDat,1)
* Nos interesa el elemento si es un objeto, además Cursor
If aMemDat(i,2)="Object" AND ;
.&aMemDat(i,1)..Baseclass="Cursor" Then
If Upper(left(.&aMemDat(i,1)..name,5))='LOCAL' Then
.&aMemDat(i,1)..CursorSource = sys(5) + curdir() + 'Datos\' + .&aMemDat(i,1)..alias + '.dbf'
Else
.&aMemDat(i,1)..Database = BDatos
EndIf
EndIf
EndFor
EndWith

*****
De esta forma no importa cual sea la ruta de la base de datos,, solo la indico en la variable Bdatos, y puedo trabajar en cualquier maquina, y bicar los datos en cualquier unidad..

Espero les sirva,,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ejecutable en red

Publicado por Ampie (42 intervenciones) el 27/03/2001 18:45:33
1. Colque en el Beforaopentable del entorno de datos de los formularios y de los reportes el codigo escrito abajo..

-Bdatos es una variable que toma la ruta de la base de datos remota,, podes asignarsela a una variable global y leerla desde un fichero .INI,,
- Al cursor de una tabla local,, nombralas por 'Local1', Local2., esto para saber que son locales
*********
=Amembers(aMemDat,This,1)
With This
For i=1 to Alen(aMemDat,1)
* Nos interesa el elemento si es un objeto, además Cursor
If aMemDat(i,2)="Object" AND ;
.&aMemDat(i,1)..Baseclass="Cursor" Then
If Upper(left(.&aMemDat(i,1)..name,5))='LOCAL' Then
.&aMemDat(i,1)..CursorSource = sys(5) + curdir() + 'Datos\' + .&aMemDat(i,1)..alias + '.dbf'
Else
.&aMemDat(i,1)..Database = BDatos
EndIf
EndIf
EndFor
EndWith

*****
De esta forma no importa cual sea la ruta de la base de datos,, solo la indico en la variable Bdatos, y puedo trabajar en cualquier maquina, y bicar los datos en cualquier unidad..

Espero les sirva,,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar