quarta-feira, 6 de maio de 2015

Cria Dll no Delphi

Uma dúvida de muitos que iniciam os estudos em programação Delphi (e eu fui um destes) era com relação às DLLs, inúmeras dúvidas apareciam durante os estudos como: "Como usar uma DLL em minha aplicação?", "Como posso Criar uma DLL?", ou ainda "o que é uma DLL?". Então este artigo vem com objetivo de esclarecer um pouco sobre DLLs. Vamos lá!!
 5 


 11     3
Criar Dll no Delphi
Uma dúvida de muitos que iniciam os estudos em programação Delphi (e eu fui um destes) é com relação às DLLs, inúmeras dúvidas aparecem durante os estudos como: "Como usar uma DLL em minha aplicação?", "Como posso Criar uma DLL?", ou ainda "o que é uma DLL?".
Então este artigo vem com objetivo de esclarecer um pouco sobre DLLs. Vamos lá!!
DLL ou Dinamic Link Libraries, permite que um conjunto de funções desenvolvidas em uma determinada linguagem de programação possam ser utilizadas em programas desenvolvidos em outras linguagens. Ou seja, você pode criar uma DLL em Delphi (e neste artigo iremos criar uma como exemplo) com um conjunto de funções e utilizá-la em aplicativos desenvolvidos em linguagens como C++ ou Visual Basic (VB) entre outras.
Pois bem, siga os seguintes passos para criar a sua primeira DLL:
1 - Selecione o item New do menu File, logo após será exibida uma caixa de diálogo com o caption New Items. Selecione o ítem DLL Wizard e clique em Ok.
2 - Logo após aparecerá um campo para que você escreva os códigos da sua DLL, apenas como base para compreensão insira os códigos abaixo (estão comentados para facilitar no aprendizado):
{ aqui é o início da DLL, onde você insere o nome do projeto }
library Nome_do_seu_projeto;
Uses {declaração das units }
SysUtils, Classes;
{declaração de uma função MaiorValor}
function MaiorValor(num1, num2 : double):double:expert:stdcall:
begin
if
 (num1 > num2) then result:= num1 else result := num2;
end;

exports
MaiorValor index 1;
Begin
end.
3 - Bem, agora é só compilar esta DLL como sendo qualquer outro projeto Delphi, agora só não tente executar esta DLL pelo Delphi usando o Run (F9) do menu Run, pois você não irá conseguir, pois não se trata de uma aplicação. Note que ao compilar foi gerado um arquivo nome_do_seu_projeto.dll no diretório em que está salvo o seu projeto.
4 - Agora vamos testar esta dll. Inicie um novo projeto e insira no formulário duas caixas de texto, 2 labels e um botão para que possamos testar a nossa DLL. Nos Labels altere o caption de cada um para numero 1 e numero 2, e altere o caption do botão para Calcular, e por fim apague o texto dos TEdits.Dê um duplo click sobre o botão.
Observe abaixo o código do novo projeto:
unit usandodll;
interface
 
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
function MaiorValor(num1, num2 : double):double;stdcall;

var
Form1: TForm1;

implementation

{$R *.DFM}
{a opção abaixo external da função é para que você coloque o nome da sua função, aqui você chama o acesso externo para esta função}
function MaiorValor(num1, num2 : double):double;external 'nome_da_sua_dll.DLL';
procedure TForm1.Button1Click(Sender: TObject);
var
x, y, resultado : double;
 begin
  x := StrToFloat(Edit1.Text);
  y := StrToFloat(Edit2.Text);
  resultado := MaiorValor(x,y);
 
 ShowMessage('O maior valor entre os número digitados foi: ' +FloatToStr(resultado));
 
end;

end.
Então se você pode notar a função MaiorValor está declarada na seção interface e implementada na seção implementation, ou seja, a função está implementada em uma DLL na qual fazemos o uso dela usando o "external 'nome_da_dll.dll'.
com o uso de DLLs você pode fazer com que sejam criados em tempo de execução formulário e/ou mensagens de alertas na sua aplicação.
Vale lembrar que para uso desta DLL você deve utilizar também a Dll DELPHIMM.DLL para que funcione corretamente.

Bem pessoal é isso aí, o uso de Dlls é bastante utilizado em grandes aplicações, facilitando o desenvolvimento, tendo em vista que uma DLL pode ser usada inúmeras vezes e em diferentes linguagens.

Nenhum comentário:

Postar um comentário