Como carregar uma DLL dinâmicamente no Delphi? – Show Delphi

DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como carregar uma DLL dinâmicamente no Delphi?

 

É necessário declarar Windows e Forms,
versões unicode declare WinApi.Windows e VCL.Forms.

Para carregar uma DLL dinamicamente, deve-se utilizar as funções
LoadLibrary e GetProcAddress.

Sugestão de uso:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure LoadSecurity( Path, Rotina : PChar; Tag : Integer);
var
  FHandle : THandle;
  FRoutine : procedure(Path : TFileName; Tag : Integer);
begin
  FHandle := LoadLibrary(Path);
  try
    FRoutine := GetProcAddress(FHandle, Rotina);
    if (Assigned( FRoutine )) then
    begin
      try
        FRoutine(ExtractFilePath(Path), Tag);
      except on E: Exception do FreeLibrary(FHandle);
      end;
    end
    else
      raise Exception.Create('Dll não encontrada.');
 
  finally
    FreeLibrary(FHandle);
  end;
end;

Repare que o FRoutine deve receber uma procedure de acordo com a procedure
que você exportar em sua DLL.

Facebook Comments

Posts Relacionados

  • Administrador
  • 1.459 views
  • 0 comentários
  • 15 de abril de 2015

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Ir ao topo

© 2016 Infus Soluções em Tecnologia - Todos os Direitos Reservados