Page 1 of 2

Crear DLL con funciones PRG con Xharbour

PostPosted: Thu Apr 23, 2009 10:05 pm
by mchumpitazv
Hola a todos

Se que el tema de creación de DLL ha sido tratado muchas veces pero los links que encuentro estan en ingles y se me hce complicado entenderlos a detalle. incluso he revisado el ejemplo babudll pero no he logrado compilarlo aparentemente me faltan algunos obj como el maidll.obj
El tema es que tengo una seride funciones que me gustaria utilizar con otros exe a partir de una dll, les agradeceria me puedan indicar paso a paso como hacerlo utilizando FWH 8.10 y xharbour.

A la espera de su apoyo

Saludos

Luis

Re: Crear DLL con funciones PRG con Xharbour

PostPosted: Fri Apr 24, 2009 3:36 am
by Antonio Linares
Luis,

Esos otros EXEs estaran desarrollados en Harbour/xHarbour o en otros lenguajes ?

Si estan desarrollados en otros lenguajes, entonces tienes que crear DLLs autocontenidas.

Si solo seran usadas desde EXEs escritos con Harbour/xHarbour, entonces puedes crear pequeñas DLLs de pcode que usan la maquina virtual de Harbour contenida en el propio EXE

Re: Crear DLL con funciones PRG con Xharbour

PostPosted: Fri Apr 24, 2009 5:36 pm
by mchumpitazv
Antonio

Agradezco por tu interes y pronta respuesta, contestando a tu interrogante debo mencionarte que la idea es utilizar exes creados con xharbour y que las diferentes funciones no formen parte del exe sino que las extraiga desde la dll.
Ahora mi interrogante pasa por como debo crear estas dll y de que forma deben ser llamadas desde el programa principal.

Espero puedan brindarme algo de su apoyo en esta tarea.

Saludos cordiales.

Luis

Re: Crear DLL con funciones PRG con Xharbour

PostPosted: Fri Nov 12, 2010 4:08 pm
by cladron
Antonio,

Por favor, donde podría encontrar documentación para aprender a generar estos DLLs de pcode ?

Gracias de antemano

Carlos Ladrón de Guevara
Lima, Perú

Antonio Linares wrote:Luis,

Esos otros EXEs estaran desarrollados en Harbour/xHarbour o en otros lenguajes ?

Si estan desarrollados en otros lenguajes, entonces tienes que crear DLLs autocontenidas.

Si solo seran usadas desde EXEs escritos con Harbour/xHarbour, entonces puedes crear pequeñas DLLs de pcode que usan la maquina virtual de Harbour contenida en el propio EXE

Re: Crear DLL con funciones PRG con Xharbour

PostPosted: Fri Nov 12, 2010 4:47 pm
by ruben Dario
mchumpitazv wrote:Antonio

Agradezco por tu interes y pronta respuesta, contestando a tu interrogante debo mencionarte que la idea es utilizar exes creados con xharbour y que las diferentes funciones no formen parte del exe sino que las extraiga desde la dll.
Ahora mi interrogante pasa por como debo crear estas dll y de que forma deben ser llamadas desde el programa principal.

Espero puedan brindarme algo de su apoyo en esta tarea.

Saludos cordiales.

Luis



Luis , Porque no usas Librerias.

Att

Ruben Dario

Re: Crear DLL con funciones PRG con Xharbour

PostPosted: Fri Nov 12, 2010 8:24 pm
by horacio
A mi también me interesaria aprender a utilizar funciones a partír de DLL. Gracias

Re: Crear DLL con funciones PRG con Xharbour

PostPosted: Mon Nov 15, 2010 3:13 pm
by cuatecatl82
Suena Interesante:

Así podriasmos ahorrarnos tiempo volviendo a copiar y pegar codigo en nuestros sistemas, tambien estoy interesado en conocer sobre como crear dll con funciones y llamarlas desde nuestros Exe´s creados con xharbour.


Alguien que pueda aportar parq que podamos expandir más esta herramienta.. :lol: :oops:


Antonio algun ejemplo practico..? :wink: :oops:


Saludos--

Re: Crear DLL con funciones PRG con Xharbour

PostPosted: Mon Nov 15, 2010 4:52 pm
by JmGarcia
El problema de usar DLLs (tambien ocurre con LIBs) de terceros sin tener la documentación apropiada es que su implementación nos puede dar muchos problemas.
Necesitamos los nombres de las funciones sus parámetros y los tipos de datos de esos parámetros.

Pero es facil, una vez conocidos esos datos, se WRAPEA (que nunca he sabido dar la definición de "wrapear", ¿alguien la sabe?).

Code: Select all  Expand view
funcion main()
   MsgInfo( Multiplicar ( 2 , 3 ) )
return nil

DLL32 STATIC FUNCTION Multiplicar ( a AS LONG, b AS LONG ) AS LONG PASCAL FROM "Multiplicate" LIB "Matematicas"
// "Multiplicar" es como llamaremos en nuestro programa a la función.
// "Multiplicate" es como se llama realmente la funcion en la DLL.
// "Matematicas" es el nombre de la DLL (Matematicas.DLL).

Re: Crear DLL con funciones PRG con Xharbour

PostPosted: Mon Nov 15, 2010 11:58 pm
by FranciscoA
Me uno de la lista de interesados.
Saludos.

Re: Crear DLL con funciones PRG con Xharbour

PostPosted: Thu Nov 18, 2010 7:55 pm
by RodMG
Hola,

Un interesado más. Quizás publicar la forma correcta de hacerlo en "templates/plantillas".

Saludos,

Rod

Re: Crear DLL con funciones PRG con Xharbour

PostPosted: Fri Nov 19, 2010 12:11 am
by Antonio Linares
Existen tres tipos de DLLs (desarrolladas con Harbour/xHarbour) que pueden usarse:

1. DLLs de solo pcode. Se pueden usar solo desde aplicaciones desarrolladas con Harbour/xHarbour (no se pueden intercambiar de Harbour a xHarbour y viceversa) puesto que usan la máquina virtual del propio EXE. Son pequeñas pues solo contienen pcode.

2. DLLs autocontenidas (pcode + máquina virtual de Harbour + Runtime Libraries RTL). Son DLLs que pueden usarse desde cualquier EXE desarrollado con cualquier lenguaje de programación. Son DLLs totalmente autocontenidas. Son grandes pues contienen todo dentro.

3. DLL con máquina virtual + RTL. Estas DLLs permiten ser usadas desde EXEs muy pequeños ya que estos EXEs usan la maquina virtual contenida dentro de la DLL. Bastante grandes (algo menos que las del tipo 2). Sólo EXEs creados con Harbour/xHarbour.

Cual de estos tres modelos os interesa ? :-)

Re: Crear DLL con funciones PRG con Xharbour

PostPosted: Fri Nov 19, 2010 12:33 am
by RodMG
Hola, Antonio.

A mi me interesan el caso 1 y 2.

De ya, gracias.

Saludos,

Rod.

Re: Crear DLL con funciones PRG con Xharbour

PostPosted: Fri Nov 19, 2010 7:26 pm
by JmGarcia
RodMG wrote:A mi me interesan el caso 1 y 2.

...y a mi... :wink: aunque mas la opción 2 :mrgreen:

El caso 2 son las librerias de windows ¿ no ?
socket.dll, user.dll,

Re: Crear DLL con funciones PRG con Xharbour

PostPosted: Fri Nov 19, 2010 10:48 pm
by cuatecatl82
Hola Antonio:

Gracias por darnos un poco mas de información, Opino lo mismo que mis compañeros, estoy entre la 1 y la 2.. :roll: :P

Re: Crear DLL con funciones PRG con Xharbour

PostPosted: Fri Nov 19, 2010 11:40 pm
by FranciscoA
Saludos, Antonio. Voy por la opción 2.