Distribución de cualquier fichero adjunto al programa en C/S

vForum público de la plataforma de desarrollo Velneo

Moderador: vCoaches

Avatar de Usuario
Roberto Blasco
vLeader
vLeader
Mensajes: 1028
Registrado: 21 Dic 2005, 10:18
Ubicación: Residente en Guadalajara / Madrid(España) .

Distribución de cualquier fichero adjunto al programa en C/S

Mensaje por Roberto Blasco » 08 Ago 2006, 16:29

Un consejo.

Si queremos utilizar cualquier dll, archivo, plantilla o demás fichero que necesitemos en el cliente hay que utilizar el Objeto Binario, de esta forma evitamos la distribución de cualquier tipo de soporte para nuestro programa y podemos crear una actualización automática de versiones de todos esos archivos sin que el cliente tenga que intervenir en un proceso.

Un saludo. Roberto.

Avatar de Usuario
jaro4
vMate
vMate
Mensajes: 72
Registrado: 22 Sep 2005, 07:13
Ubicación: Madrid, España

agradecimiento

Mensaje por jaro4 » 08 Ago 2006, 18:30

de nuevo muchas gracias roberto por tu colaboracion con el foro, siempre ayudando

cabella
vLeader
vLeader
Mensajes: 1013
Registrado: 21 Sep 2005, 16:01
Ubicación: Madrid - España

Mensaje por cabella » 08 Ago 2006, 18:51

Hola Roberto.

No te he entendido muy bien tu idea, podrías explicar el proceso un poco más detallado por favor???

Gracias Roberto.

Avatar de Usuario
Roberto Blasco
vLeader
vLeader
Mensajes: 1028
Registrado: 21 Dic 2005, 10:18
Ubicación: Residente en Guadalajara / Madrid(España) .

Mensaje por Roberto Blasco » 08 Ago 2006, 19:20

Es muy sencillo, para que una dll funcione en C/S debe ser instalada en el directorio de sistema del cliente. Bueno, si incluímos en la aplicación una tabla de Objetos Binarios, con los campos objeto binario y ruta de instalación
p.e.:

%OB% = word.dll
%RUTA% = "C:\windos/system32"

en el inicio del Autoexec debemos lanzar un proceso que recorra la lista de los binarios, si hay algún archivo de los que están en la lista no se encuentra en el cliente, entonces lo exportamos a la ruta expecificada y ya tendremos distribuída la dll en el cliente.

Tan fácil como un nuevo registro con su ruta para añadir otro archivo en el cliente.

Un saludo. Roberto.

Avatar de Usuario
TARUGO
vAdviser
vAdviser
Mensajes: 478
Registrado: 12 Ene 2006, 12:02
Ubicación: BIAR-ALICANTE-ESPAÑA

Muchas Gracias

Mensaje por TARUGO » 08 Ago 2006, 22:13

Muchas gracias por la informacion que nos has facilitado (y por las DLL de word y excel que en su día realizaste y nos ofrecistes a todos).
A mi me será de gran utilidad, ya que un cliente quiere que todos los informes de la aplicacion se abran primero en Word para poder realizar modificaciones antes de imprimirlos.

Una pregunta, las DLL deben instalarse en C:\Windows\System32 o en el directorio del navegador de velazquez C:\Archivos de Programa\Atica\Program

Avatar de Usuario
Roberto Blasco
vLeader
vLeader
Mensajes: 1028
Registrado: 21 Dic 2005, 10:18
Ubicación: Residente en Guadalajara / Madrid(España) .

Mensaje por Roberto Blasco » 08 Ago 2006, 22:26

Cualquier dll para que la encuentre el sistema debe de estar en una ruta que éste conozca o en la ruta de la aplicación que la utiliza.
La ruta que Windows conoce por excelencia es c:\Windows\system32 (ahí debes copiar la dll)que es donde tienes que copiarla en el cliente, a no ser que modifiques su PATH (SET PATH)y apuntes adonde le hayas copiado la dll.

Un saludo. Roberto.

P.D. En definitiva y para no liarte en el directorio c:\Windows\System32 del cliente en sistemas Windows

Avatar de Usuario
TARUGO
vAdviser
vAdviser
Mensajes: 478
Registrado: 12 Ene 2006, 12:02
Ubicación: BIAR-ALICANTE-ESPAÑA

Mensaje por TARUGO » 08 Ago 2006, 22:31

Muchas gracias por tu rapida respuesta.

Sin animo de abusar, una cuestion más. He hecho el proceso tal y como dices (aunque usando una variable global para determiar la ruta del directorio donde copiar el fichero) pero cuando me copia la DLL, el nombre me sale con "tropocientos" espacios en blanco y luego el word.dll ¿A que puede ser debido?

Avatar de Usuario
jdseara
vMate
vMate
Mensajes: 59
Registrado: 22 Sep 2005, 08:11
Ubicación: Oviedo

Mensaje por jdseara » 08 Ago 2006, 22:35

Roberto, muy buena solución. Gracias.
Jorge D. Seara

Avatar de Usuario
Roberto Blasco
vLeader
vLeader
Mensajes: 1028
Registrado: 21 Dic 2005, 10:18
Ubicación: Residente en Guadalajara / Madrid(España) .

Mensaje por Roberto Blasco » 08 Ago 2006, 22:39

Efectivamente, no uses variables globales. La ruta donde quieras exportar el objeto binario debe estar en un campo de la propia tabla.

Tabla OB
-OB (Objeto Binario)
-Descripcion(Alfabético[100]) Opcional
-Ruta(Alfabético[500])

P.D. No nos olvidemos de incluir un proceso que se asegure que la ruta tiene la barra invertida "\" al final de la cadena, y si no la tiene la añade.

Un saludo. Roberto.

Avatar de Usuario
TARUGO
vAdviser
vAdviser
Mensajes: 478
Registrado: 12 Ene 2006, 12:02
Ubicación: BIAR-ALICANTE-ESPAÑA

Mensaje por TARUGO » 08 Ago 2006, 22:47

Una vez más Infinidad de gracias. Efectivamente era tema de campo en lugar de variable.

Responder