Você está aqui: Delphi ::: Dicas & Truques ::: Bilbiotecas Estáticas (obj) e Dinâmicas (DLLs) |
Como carregar uma DLL a partir de seus programas Delphi usando Static Loading (carregamento estático)Quantidade de visualizações: 13749 vezes |
|
Por carregamento estático (Static Loading) entendemos a técnica de se carregar as funções de uma DLL na abertura de nossos programas, ou seja, a DLL é carregada juntamente com nossa aplicação. Para esta demonstração faremos uso da DLL MinhaDLL.dll, criada em uma das dicas nesta mesma seção. O primeiro passo é saber a assinatura da função contida na DLL e que pretendemos usar em nosso programa Delphi. A DLL MinhaDLL.dll contém uma função Somar() que recebe dois Integer e retorna a soma como um Integer: function Somar(a, b: Integer): Integer; stdcall; begin Result := a + b; // retorna a soma end; O primeiro passo é criar uma unit que nos permitirá informar ao compilador Delphi que a rotina Somar() está localizada externamente. Para isso, crie um novo projeto e adicione uma nova unit com o seguinte conteúdo: unit MinhaDLL; interface function Somar(a, b: Integer): Integer; stdcall; implementation // vamos informar ao compilador que a função Somar() está // localizada externamente e em qual DLL function Somar(a, b: Integer): Integer; external 'MinhaDLL.dll'; end. Agora só precisamos adicionar esta unit no formulário a partir do qual pretendemos chamar a função localizada na DLL: uses MinhaDLL; E, para chamar a função Somar() só precisamos adicionar o código abaixo no evento Click de um botão:
procedure TForm3.Button1Click(Sender: TObject);
var
v1, v2, resultado: Integer;
begin
v1 := 5;
v2 := 2;
resultado := Somar(v1, v2);
// vamos exibir o resultado
ShowMessage('A soma é: ' + IntToStr(resultado));
end;
Note que, no carregamento estático, se a DLL não puder ser encontrada você verá uma caixa de mensagem semelhante à: Projet2.exe - Não foi possível localizar componente Este aplicativo não pôde ser iniciado porque não foi encontrado MinhaD.dll. A reinstalação do aplicação pode corrigir o problema. Mas, esta mensagem de erro só é exibida se executarmos a aplicação fora da IDE do Delphi (experimento feito com Delphi 2009). Lembre-se de que o os aplicativos procuram as DLLs primeiro no diretório local e em seguida nos diretórios Windows, System e System32. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
|
CSS - CSS3 - O que são CSS media queries e como usá-las em suas páginas web para criar designs responsivos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




