Funciones desde una dll

Funciones desde una dll

Postby jose_murugosa » Tue Oct 19, 2010 2:31 pm

Compañeros del foro,

Parece que estos días me he puesto a hacer todo lo que nunca hice, así que estaré jorobando un poquito por estos lugares......

Quisiera un poco de orientación sobre como llamar funciones contenidas en una dll.

Concretamente se trata de RMChart.dll una dll que permite la generación de muy bellos gráficos.

He visto algo de DLL FUNCTION .....

Pero como el unico lenguage que apenas conozco es fivewin, las funciones desde dll son misterio :oops:

Alguien podría ayudarme proporcionandome un ejemplo de como ejecutar estas funciones desde fivewin, por ejemplo esta:

RMC_CreateChartFromFile function.
Create a new chart by reading a *.rmc-file or passing the data string.
--------------------------------------------------------------------------------
Syntax
nResult (LONG) = RMC_CreateChartFromFile(
ByVal nParentHndl (LONG),
ByVal nCtrlId (LONG),
ByVal nX (LONG),
ByVal nY (LONG),
ByVal nExportOnly (LONG),
ByRef sRMCFile (ASCIIZ)
)

Gracias desde ya por vuestra ayuda. :D
Saludos/Regards,
José Murugosa
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1145
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Re: Funciones desde una dll

Postby jose_murugosa » Tue Oct 19, 2010 7:42 pm

:roll:
Saludos/Regards,
José Murugosa
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1145
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Re: Funciones desde una dll

Postby jose_murugosa » Wed Oct 20, 2010 9:16 am

cualquier guia sirve.....:shock:
Saludos/Regards,
José Murugosa
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1145
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Re: Funciones desde una dll

Postby JmGarcia » Wed Oct 20, 2010 9:58 am

Lo primero que tienes que tener claro es los nombres de las funciones, sus parámetros y tipos.
Los defines al final del programa como DLL32 FUNCTION <NombreFuncionEnTuPrograma> ( <parametro> AS <tipo>... ) AS <tipo> PASCAL FROM "NombreFuncionEnLaDLL" LIB "<NombreDeLaDLL.dll>"
Despues haces las llamadas como cualquier funcción.

Code: Select all  Expand view
function main()
local nResult:=0,a:=0,b:=0,c:=0,d:=0,e:=0,f:=""

nResult:=RMC_CreateChartFromFile(a,b,c,d,e,f)

return nil

DLL32 FUNCTION RMC_CreateChartFromFile(nParentHndl AS LONG,;
                                       nCtrlId AS LONG,;
                                       nX AS LONG,;
                                       nY AS LONG,;
                                       nExportOnly AS LONG,;
                                       sRMCFile AS LPSTR) ;
AS LONG PASCAL FROM "RMC_CreateChartFromFile" LIB "NombreDeLaDLL.dll"
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Re: Funciones desde una dll

Postby jose_murugosa » Wed Oct 20, 2010 10:00 am

JmGarcia wrote:Lo primero que tienes que tener claro es los nombres de las funciones, sus parámetros y tipos.
Los defines al final del programa como DLL32 FUNCTION <NombreFuncionEnTuPrograma> ( <parametro> AS <tipo>... ) AS <tipo> PASCAL FROM "NombreFuncionEnLaDLL" LIB "<NombreDeLaDLL.dll>"
Despues haces las llamadas como cualquier funcción.

Code: Select all  Expand view
function main()
local nResult:=0,a:=0,b:=0,c:=0,d:=0,e:=0,f:=""

nResult:=RMC_CreateChartFromFile(a,b,c,d,e,f)

return nil

DLL32 FUNCTION RMC_CreateChartFromFile(nParentHndl AS LONG,;
                                       nCtrlId AS LONG,;
                                       nX AS LONG,;
                                       nY AS LONG,;
                                       nExportOnly AS LONG,;
                                       sRMCFile AS LPSTR) ;
AS LONG PASCAL FROM "RMC_CreateChartFromFile" LIB "NombreDeLaDLL.dll"


Muuuuuuuuuchassss graaaaaaciasssss!!!!, ya mismo me pongo a probar!!!! :D
Saludos/Regards,
José Murugosa
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1145
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Re: Funciones desde una dll

Postby jose_murugosa » Wed Oct 20, 2010 1:37 pm

Bueno!!!

He logrado poner accesibles a los programas en fivewin las funciones de RMChart y aparentemente funcionan, ya que al llamarlas
no me da error.

Pero.... tengo dudas, que provienen de mi ignorancia de varios detalles del manejo de windows.
Volviendo a la función que mencionaba al principio....

nResult (LONG) = RMC_CreateChartFromFile(
ByVal nParentHndl (LONG),
ByVal nCtrlId (LONG),
ByVal nX (LONG),
ByVal nY (LONG),
ByVal nExportOnly (LONG),
ByRef sRMCFile (ASCIIZ)
)

NParentHndl - Es el handle de la ventana creo, si entiendo bien es: si ventana: oWnd:hWnd y si dialog oDlg:hWnd....
nCtrlId - Este es el ID único del control.... acá no se... yo defino arbitrariamente el valor de este id?, ... no tengo muy claro eso :( nX y nY - Son valores numéricos correspondientes a la esquina superior izquierda del gráfico

nExportOnly - es un LONG y dice que debe ser verdadeo para que se vea el gráfico, ¿significa esto que debe ser 1 por verdadero y
0 por falso?.
:(

sRMCFile - es el nombre del archivo RMC que contiene las características del gráfico a desplegar


En este link encontrarán: la dll, el archivo .hlp y el archivo rmc por si puede ser util para alguien, es una dll gratuita, agradezco desde ya la ayuda que me puedan brindar para ir captando la idea de como trabajar con ella.

http://www.box.net/shared/h0jrmnkzzd

Gracias desde YA:)
Saludos/Regards,
José Murugosa
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1145
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Re: Funciones desde una dll

Postby thefull » Wed Oct 20, 2010 2:27 pm

Saludos
Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
User avatar
thefull
 
Posts: 729
Joined: Fri Oct 07, 2005 7:42 am
Location: Barcelona

Re: Funciones desde una dll

Postby JmGarcia » Wed Oct 20, 2010 3:02 pm

jose_murugosa wrote:nExportOnly - es un LONG y dice que debe ser verdadeo para que se vea el gráfico, ¿significa esto que debe ser 1 por verdadero y 0 por falso?. :(
Sí, se puede usar 1 o 0. Pero en la llamada a la función usa mejor ".T." o ".F."
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Re: Funciones desde una dll

Postby jose_murugosa » Wed Oct 20, 2010 3:07 pm

Gracias Rafa!!!!!!
Parece que intentaba descubrir la pólvora.

Gracias JMGarcía por tus comentarios y ayuda!!!!!!

Vuestro interés y vuestras rápidas respuestas han sido extraordinarios, no me sorprende porque siempre es así, verdaderamente me siento muy feliz de pertenecer a esta comunidad tan servicial.

Bueno, tengo muuuuuuucho para leer, revisar, compilar y probar, GRACIAS DE NUEVO :D
Saludos/Regards,
José Murugosa
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1145
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 31 guests

cron