Info Delphi

La magia de la programación a tu alcance

Bibliotecas de enlace dinámico

Hola a todos,

Hoy vamos a ver las llamadas bibliotecas de enlace dinámico (DLL).

Las DLL no son más que ejecutables compilados que contienen funciones a las que puedes llamar desde tus programas en tiempo de ejecución.

Algunas de sus ventajas es que puedes tener un programa ya en explotación , al que, modificando sus DLL’s, puedes cambiar en alguno de sus aspectos; podrías también tener varias versiones del mismo programa en distintos idiomas; o incluso personalizar un programa genérico de forma que se adapte a un cliente particular; solo échale imaginación…

Vamos ahora a ver como podemos implementar nuestras propias DLL’s, para eso crearemos una que solamente nos va a proporcionar un mensaje en pantalla, más adelante iremos implementando otras funcionalidades.

Inicia Delphi y escoge la opción de crear una nueva DLL en el menú File opción New…

Elegir una nueva DLL

Se nos abrirá el editor con un esqueleto denominado Library project1, vamos a modificarlo de forma que nos quede con el siguiente código:

Library Ejemplo;

uses
  Sysutils,
  Classes,
  Dialogs;

procedure MostrarMensaje(Texto: string); stdcall;
begin
    ShowMessage(Texto);
end;

{Aquí definiremos las funciones que van a ser exportadas}
exports
    MostrarMensaje;
begin
end.

Ahora podemos guardar nuestro proyecto y despues compilarlo para crear nuestra nueva DLL usando la opción build Project1 que aparece en el menú Project

Compilando la biblioteca

Ya tenemos lista la biblioteca, para probarla crea una nueva aplicación, desde el menú File, opción New application, agrega un botón y modifica el código del proyecto para que aparezca como este:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

{Declaramos el procedimiento externo de la DLL}
procedure MostrarMensaje(Texto: string); stdcall external 'Ejemplo.dll';

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  {Llamamos al procedimiento de nuestra DLL}
  MostrarMensaje('Probando nuestra nueva DLL');
end;

end.

Y aquí tenemos el resultado

Mostrando nuestro mensaje

Anuncios

Miércoles, 14 enero 2009 - Posted by | Delphi

1 comentario »

  1. […] ya hablamos en la entrada Bibliotecas de enlace dinámico, uno de los usos que se les puede dar a las DLLs es crear versiones en distintos idiomas para […]

    Pingback por Internacionalización « Info Delphi | Viernes, 16 enero 2009


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: