• Viernes 8 de Noviembre de 2024, 20:16

Autor Tema:  Crear .dll  (Leído 2000 veces)

Linspire

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
    • http://www.cedrela.com.mx
Crear .dll
« en: Lunes 15 de Mayo de 2006, 23:22 »
0
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.
[size=109]My Blog de Programación[/i][/b][/size]
´


[size=109]Tan solo quiero pensar que todo es un sueño y que no quiero despertar
porque quiero controlarlo como yo quiera.
[/size]

Todo es posible, lo imposible solo cuesta un poco más. Dan Drown.

mpching

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Crear .dll
« Respuesta #1 en: Martes 16 de Mayo de 2006, 00:04 »
0
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

Linspire

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
    • http://www.cedrela.com.mx
Re: Crear .dll
« Respuesta #2 en: Martes 16 de Mayo de 2006, 21:37 »
0
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:
[size=109]My Blog de Programación[/i][/b][/size]
´


[size=109]Tan solo quiero pensar que todo es un sueño y que no quiero despertar
porque quiero controlarlo como yo quiera.
[/size]

Todo es posible, lo imposible solo cuesta un poco más. Dan Drown.

SkaJaf

  • Miembro activo
  • **
  • Mensajes: 37
    • Ver Perfil
Re: Crear .dll
« Respuesta #3 en: Domingo 28 de Mayo de 2006, 21:28 »
0
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

Linspire

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
    • http://www.cedrela.com.mx
Re: Crear .dll
« Respuesta #4 en: Martes 30 de Mayo de 2006, 00:46 »
0
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:
[size=109]My Blog de Programación[/i][/b][/size]
´


[size=109]Tan solo quiero pensar que todo es un sueño y que no quiero despertar
porque quiero controlarlo como yo quiera.
[/size]

Todo es posible, lo imposible solo cuesta un poco más. Dan Drown.