Exemplo de uso da DLL:
// Declare a função de que representa a interface da DLL;
TDLL_RotinaLaunch = function (pRotina: Integer;
pAliasBD: AnsiString;
pUsuarioBD: AnsiString;
pSenhaBD: AnsiString;
pUsuarioWT: AnsiString;
pSenhaWT: AnsiString;
pParamAdicional: AnsiString;
var pMsg: WideString): Boolean;
// Implementação
procedure TestarDLL;
var
vHandle: THandle;
vFuncaoLoadRotina: TDLL_RotinaLaunch;
vRotinaCarregada: Boolean;
vMsg: WideString;
begin
vHandle := LoadLibrary(<caminho da DLL>);
try
if vHandle <> 0 then
begin
@vFuncaoLoadRotina := GetProcAddress(vHandle, 'LoadRotina');
// Executa a função e retorna se foi possível ou não carregar a rotina
vRotinaCarregada := vFuncaoLoadRotina(<Codigo da Rotina>
, <Alias do BD>
, <Usuario do BD>
, <Senha do BD>
, <Usuario do WT>
, <Senha do Usuário do WT>
, <Parametros adicionais, se necessário>
, vMsg // traz mensagem de retorno da DLL
);
end;
finally
FreeLibrary(vHandle);
end;
end;