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
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á!!
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;
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
uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs, StdCtrls;
type
type
TForm1
= class(TForm)
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
{ Private declarations }
public
{ Public declarations }
end;
function MaiorValor(num1, num2 :
double):double;stdcall;
var
var
Form1: TForm1;
implementation
{$R *.DFM}
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.
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