Função: ExeDLLRun2
Executa functions ou procedures de uma determinada DLL - Dynamic-link library (Biblioteca de ligação dinâmica).
ExeDLLRun2 ( < nHandle>, < nOpc>, < cBuffer> ) --> nRet
Nome | Tipo | Descrição | Obrigatório | Referência |
nHandle | Numérico | Indica o handle da DLL obtida através da função ExecInDLLOpen(). | X | |
nOpc | Numérico | Indica a opção que será executada pela DLL. | X | |
cBuffer | Caracter | Indica o buffer, no formato caracter, que será recebido pela DLL. | X |
nRet
- (numerico)
- Retorno vindo da DLL após o processamento.
A variável cBuffer tem limite de 20000 caracteres, para ser passada como referencia.
DLL DE EXEMPLO EM DELPHI
library TSTDLL; uses Dialogs; {$R *.RES} function ExecInClientDLL( aFuncID: Integer; aParams: PChar; aBuff: PChar; aBuffSize: Integer ): integer; stdcall; begin if aFuncID=1 then begin // Roda opção 01 showmessage('Executando pela DLL - Texto via parametro: '+chr(13) + aParams); result:=999; end; if aFuncID=2 then begin // Roda opção 02 result:=-1; end; end; exports ExecInClientDLL; begin end.
ROTINA EM AdvPL PARA CHAMADA DA DLL
// Abre Dll hHdl := ExecInDLLOpen( "TSTDLL.DLL" ) // ---------------------------------------------------------------- // Envia comando para execução, repare que estamos // usando a opção "1" no momento de chamar a DLL. // ---------------------------------------------------------------- // ExecInDllRun não retorna valor da DLL buffer:= "Executando a partir da ExecInDllRun..." xRet1 := ExecInDllRun( hHdl, 1, @buffer ) alert("Retorno da ExecInDllRun: " + xRet1) // ExeDllRun2 retorna valor numérico da DLL buffer:= "Executando a partir da ExeDllRun2..." nRet2 := ExeDllRun2( hHdl, 1, @buffer ) alert("Retorno da ExeDllRun2: " + StrZero(nRet2,3)) // ExeDllRun3 retorna valor numérico da DLL buffer:= "Executando a partir da ExeDllRun3..." nRet3 := ExeDllRun3( hHdl, 1, @buffer ) alert("Retorno da ExeDllRun3: " + StrZero(nRet3,3)) // ---------------------------------------------------------------- // Fecha a DLL ExecInDllClose( hHdl )
Microsiga Protheus 8.11 , TOTVS Application Server 10 , ByYou Application Server
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas