55 lines
1.5 KiB
Plaintext
55 lines
1.5 KiB
Plaintext
COMO CREAR UNA DLL
|
||
====================
|
||
|
||
1. Creamos un proyecto de DLL (logico)
|
||
|
||
2. Metemos el export.h y el .c principal
|
||
|
||
3. Añadimos el .DEF al proyecto con el siguiente contenido:
|
||
|
||
LIBRARY nombre_de_la_libreria
|
||
EXPORTS
|
||
ExportaFuncs
|
||
|
||
3. Metemos en dllmain (vacio, debe devolver TRUE)
|
||
|
||
4. Creamos la función ExportaFuncs:
|
||
|
||
int ExportaFuncs(TYPEOF_EDIV_Export *pEDIV_Export)
|
||
{
|
||
EDIV_Export=pEDIV_Export; // ojo, esto es obligatorio
|
||
}
|
||
|
||
|
||
PARA AÃÂADIR FUNCIONES:
|
||
|
||
5. Hacemos las funciones de la siguiente forma:
|
||
|
||
int nombre_funcion (FUNCTION_PARAMS)
|
||
{
|
||
param_n=getparm();
|
||
...
|
||
param_2=getparm();
|
||
param_1=getparm();
|
||
|
||
// todo el código de la funcion
|
||
|
||
return valor_de_retorno;
|
||
}
|
||
|
||
para coger los parametros, lo hacemos del ultimo al primero con getparm()
|
||
para leer strings, bastara con poner param=(char*)getparm();
|
||
|
||
6. Declaramos la funcion (en el .h o en el .c), lo digo porque esto suele olvidarse
|
||
|
||
7. Y por último, añadimos el EDIV_Export correspondiente en la función ExportaFuncs. Se usa de esta manera:
|
||
|
||
EDIV_Export ("cadena",nparametros,nombre_funcion);
|
||
|
||
- "cadena" es la cadena a comparar en el programa (el nombre que tendrá la función en el lenguaje)
|
||
|
||
- nparametros es el número de parámetros que recibe la función
|
||
|
||
- nombre_funcion es el nombre de la función en la DLL (es decir, aquàse pasa un puntero a la función)
|
||
|