Fórum Duvidas com DLL #320308

30/04/2006

0

Pessoal
Costumo usar DLLs em meus sistemas, porem sao todas estaticas, ou seja, quando compilo as DLLs obrigatoriamente tem que estar no diretorio. Se nao estiverem da pau .
Qual a forma (chamada) de DLL dinamica ? Quero ter modulos em DLL, porem se o cliente nao comprar modulo X nao mando a DLL correspondente ao modulo.
Meu MSN e email r_cagliari@hotmail.com

Valw


Cagliari

Cagliari

Responder

Posts

02/05/2006

Paulocesar1301

[b:fabeb50f74][u:fabeb50f74][color=brown:fabeb50f74]Veja se isto lhe ajuda:[/color:fabeb50f74][/u:fabeb50f74][/b:fabeb50f74]

type TCallMeDll = function ou procedure<declaração exata após o nome>: StdCall;
var CallMeDll: TCallMeDll;
    FuncPtr: TFarProc;
    hDll: THandle;
    result: <tipo de retorno>; // pode usar variant, mas cuidado
begin
  hDll := LoadLibrary(´<caminho da dll>´);
  FuncPtr := GetProcAddress(hDLL, ´<´Nome da Função´ (a função deve ser declarada na seção Exports da DLL com a opção Name ´Nome da Função´)>´);
  @CallMeDll := FuncPtr;
  if @CallMeDll <> nil then result := CallMeDll(<argumentos necessários para a função>);
  FuncPtr := nil;
  FreeLibrary(hDll);
end;


Abraços e Bons Códigos :wink:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar