The Voiced
Como produzir e utilizar DLLs em seus aplicativos Delphi
Normalmente um programador possui várias funções que são utilizadas em vários aplicativos. Qual o melhor lugar para armazená-los? E como posso fazer uso de rotinas que a linguagem de programação que utilizo não permite (como no Visual Basic)?
A solução para esses problemas é o uso de DLLs (Dinamic Link Libraries). Um DLL é um programa que permite que vários programas possam acessar as mesmas funções, independentemente de linguagem.
Criando DLLs:
Primeiramente vá em File|New... e escolha DLL. Surgirá na tela um “esqueleto” de um programa DLL:
library Project1;
{ Important note about DLL memory management: ShareMem must be the first unit in your library's USES clause AND your project's (select View-Project Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL--even those that are nested in records and classes. ShareMem is the interface unit to the DELPHIMM.DLL shared memory manager, which must be deployed along with your DLL. To avoid using DELPHIMM.DLL, pass string information using PChar or ShortString parameters. }
uses SysUtils, Classes;
begin end. Para que uma procedure ou função possam ser utilizados, é necessário informar que eles podem ser exportados (utilizados por outros aplicativos), colocando-se as diretivas stdcall; export; após sua declaração. No final do programa (antes do begin - end. ), deve-se informar as rotinas a serem exportadas e seus respectivos índices (pode ser qualquer um, desde que seja único em todo o DLL). Caso não seja informado não poderá ser utilizado por outros programas.
Um exemplo completo de criação de DLL:
library Exemplo;
uses SysUtils, Classes;
function AreaQuadrado (Lado : Integer) : Integer; stdcall; export; begin Result := Lado * Lado;
end;