Ejecutar funciones remotas de V6, desde procesos V7


([N4] tecnico) #1

Ante una necesidad que nos surgio en la empresa, decidmos realizar una DLL para ejecutar funciones remotas de la V6, desde procesos de la V7.
Tenemos un control de presencia en V7 , que todos los marcajes de la produccion deberían ir a nuestro programa de produccion realizado en la V6. Con el Tpc/Ip tendriamos que abrir puertos, escritura en disco directa (que no es posible en TCP/IP, de la v6), de este modo con el puerto 690 del propio velneo podemos acceder mas fácil.

Os dejamos la documentación y la DLL, tanto 64 como 32 para windows, para el uso y disfrute de la comunidad.

VREMOTEFUNCTIONV6_DLL.zip (1.21 MB)


([N4] SyP) #2

Muchas gracias por vuestra aportación. Puede resultar muy útil para los que estamos comenzando a trabajar con la v7 y venimos de v6.


([N2] Mgalvezh) #3

Gracias, un gran aporte.


([N4] julian) #4

Muchas Gracias, muy útil.


([N4] jordimas) #5

Hola,
Primero de todo muchas gracias por aportar esta DLL, puede resultar muy útil.

De momento no he conseguido hacerla funcionar. ¿Alquien la ha probado?

Lo que he hecho ha sido adjuntarla a la solución para que se guarde en la cache, ya que tengo entendido según he leido que es el directorio donde debe estar ¿es así?
Luego he creado el objeto dll, y le he añadido la función EXISTE con retorno bool.
Estoy ejecutando el proceso en 1er plano, en un windows 7 64 bits, y he probado tanto la dll de 32 comoo la de 64 bits.

Pero al llamar la función siempre me devuelve un 0.

Alguna idea de que puedo estar haciendo mal?

Gracias!!


([N3] Juanjo) #6

Gracias!


([N3] pedrogm) #7

Buenas,

A mi tambien me devuelve cero siempre, aunque la funcion a la que llamo en v6 se ejecuta con exito.


([N4] jordimas) #8

Hola,
Ya funciona!!

Os explico en todo los puntos donde me la pegaba, por si os ayuda:

1.- los Identificadores y los Nombres tanto de la función dll, como las funciones que contiene, como la de los parámetros tienen que ser exactamente como indica el pdf adjunto a la librería. No basta que coincidan los identificadores los nombres también tienen que coincidir.

2.- Al añadir contraseña en el motor V6 para las funciones remotas, he tenido reiniciar el motor para que la pillara.

3.- Lo que define que versión (32 o 64 bits) de la librería usar es la versión del vClient, no la de SO.

4.- Para el despliegue de la DLL, la forma más fácil de hacerlo es mediante el objeto fichero adjunto de V7, esto copia la DLL en el directorio cache automáticamente.

Confirmo que funciona y devuelve el retorno.

Gracias!!
Saludos.


([N4] tecnico) #9

Perdón por el retraso en contestar. Hay que seguir las instrucciones que se adjutna en el pdf. Es muy importante que los nombres se llamen igual. Asi esta definida en la dll.

Si quedaba alguna duda jordimas, las ha aclarado muy bien

Gracias.


([N4] antonioosorio) #10

Hola.

Estoy intentando conectar un proceso de V7 con una función Remota de V6.

Al intentar lanzar la función EXISTE y GETVERSION de la DLL, me da un mensaje que me dice que no se ha podido cargar la libreria Nombre REMOTE ID: REMOTE

He comprobado que la dll, esta en la carpeta cache del cliente.

Estoy ejecutado esto en windows 10.

Evidentemente algo hago mal, pero no lo veo.

Me podéis ayudar.

Gracias.




([N4] tecnico) #11

Buenas os adjunto un vin con el que funciona .

Gracias.


([N4] tecnico) #12

Lo vuelvo a subir


([N4] tecnico) #13

[quote quote=51077]Lo vuelvo a subir

[/quote]

DLL.zip (461 KB)