SoloCodigo
Programación General => C/C++ => C++ Builder => Mensaje iniciado por: Linspire en Lunes 15 de Mayo de 2006, 23:22
-
Hola a todos, resulta que estuve buscando y no pude hallar gran cosa sobre como crear una .DLL en C++Builder 5, así que me gustaría que me orientaran hacía alguna o algunas fuentes de información al respecto. Les agradezco de antemano :comp:
Y como nota adicional, tengo que ser sometido a una nueva cirugía pero mis recursos casi se agotaron con la cirugía de hace casi un mes, alguien podría darme una idea para conseguir $1000.00 (USD 100.00 aprox, 100.00 euros aproximadamente) y completar el precio de la intervención?. Les agradeceré infinitamente sus propuestas ya que es de vital importancia para mi salud presente y futura.
Gracias. :hola: y Saludos.
-
hola este codigo lo utilizo en cbuilder 6 para dll dinamicas ojala te sirva
//Se crea un tipo de funcion-variable que provee acceso al manejador de win
typedef void __declspec(dllimport)showpostura1(HWND);
showpostura1 *postura1;
//Si es null carga carga el manejador de win para dicho archivo
if(!Dllpostura)
Dllpostura=LoadLibrary("postura.dll");
//al tipo creado asigna la direccion de la funcion de la dll a traves de otra variable detipo que crea
if(Dllpostura){
postura1=(showpostura1 *)GetProcAddress(Dllpostura,"_showpostura");
//Si abrio postura correctamente asigna el manejador de windows
if (postura1)
postura1(Handle);
else{
ShowMessage(SysErrorMessage(GetLastError()));
FreeLibrary(Dllpostura);
}
}
else{
ShowMessage(SysErrorMessage(GetLastError()));
ShowMessage("no se puede cargar la dll");
}
Nota: cada forma existente dentro de una dll debe ser creada por una funcion diferente y deben ser de estilo fsMDICHild
-
Pues bien mi amigo, creo que entendiste mal, lo que yo quiero es Crear una DLL, no llamarla, que creo que es lo que tu me estás indicando.
Saludos. :comp:
-
El código en el lenguaje C++ de una biblioteca de enlace dinámico es:
#define EXP __declspec(dllexport)
#include <stdlib.h>
#include <stdio.h>
#include <memory.h>
#include <windows.h>
BOOL APIENTRY DllMain (HINSTANCE hInst,
DWORD reason,
LPVOID reserved /* No se usa */
)
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
//Código que se ejecuta cuando se carga la DLL
break;
case DLL_PROCESS_DETACH:
break;
//Código que se ejecuta cuando se libera la DLL
case DLL_THREAD_ATTACH:
break;
//Código que se ejecuta cuando un hilo de proceso se crea
//en el tiempo en el que la biblioteca esta activa
case DLL_THREAD_DETACH:
break;
//Código que se ejecuta cuando un hilo de proceso termina
//de forma correcta
}
return TRUE;
}
////////////////////////////////
// FUNCIONES DE USUARIO///
void EXP Funcion1() // EXP sustituye a __declspec(dllexport)
{
/*sentencias*/
};
void __declspec(dllexport) Funcion2()
{
/*sentencias*/
};
////////////////////////////////
/***********************************
Espero q te sea de ayuda, esta es la plantilla básica para crear una DLL.
Un saludo
-
Gracias my friend, lo pondré a prueba cuando tenga más tiempo libre porque estoy en fin de semestre y tengo mucho trabajo, ya comentaré los resultados.
Gracias nuevamente.
Saludos. :comp: :hola: :whistling: