Hola Angel:### Creamos la dll ### 
1. Vamos al menú File > New y pinchamos sobre el icono DLL para crear el 'esqueleto' de la dll, salvamos el proyecto para este ejemplo con el nombre 'dll.mak'
2. Creamos un fichero de cabecera con el nombre 'dll.h' para esa dll, que contendra lo siguiente:
code:
//---------------------------------------------------------------------------
#ifndef dllH
#define dllH
//---------------------------------------------------------------------------
#ifdef _DLL_
#define PUBLIC __declspec(dllexport)
#else
#define PUBLIC __declspec(dllimport)
#endif
//---------------------------------------------------------------------------
PUBLIC int Suma(int a, int b);
//---------------------------------------------------------------------------
#endif
y luego el fichero 'dll.cpp':
code:
//---------------------------------------------------------------------------
#include <vcl\vcl.h> // en caso de no usar la VCL lo quitamos
#pragma hdrstop
#define _DLL_
#include "dll.h"
//---------------------------------------------------------------------------
USERES("dll.res");
//---------------------------------------------------------------------------
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
{
return 1;
}
//---------------------------------------------------------------------------
PUBLIC int Suma(int a, int b)
{
return(a+b);
}
//---------------------------------------------------------------------------
3. Compilamos el proyecto de la dll y una vez nos ha creado el .dll, tecleamos lo siguiente desde la linea de comandos:
IMPLIB dll.lib dll.dll
esto nos creara el fichero .lib que nos servirá para enlazar nuestro proyecto con la dll (también podríamos enlazarlo sin el .lib dinámicamente, en este caso lo haremos estáticamente al ser todo con el mismo compilador facilita y simplifica mucho el trabajo)
### Creamos el proyecto donde usamos la dll ### 
1. Creamos un nuevo proyecto, y desde el menú Project > Add to project... añadimos el 'dll.lib'.
2. Escribimos el código. Asi es como queda el fichero .cpp del proyecto:
code:
//---------------------------------------------------------------------------
// progmain.cpp -- o sea, la unit1.cpp o como la queramos llamar
#include <vcl\vcl.h>
#pragma hdrstop
#include "progmain.h"
#include "dll.h" // incluimos la cabecera de la dll
//---------------------------------------------------------------------------
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
ShowMessage( Suma(2,3) ); // probamos la función
}
//---------------------------------------------------------------------------
[b]3. Compilar y ejecutar.
funciona ?
Todo esto es valido en cualquier versión de builder, aunque a diferencia de la versión 1 las demás no necesitan que creemos el fichero .lib, lo harán automáticamente.
Saludos.