Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Abre uma DLL (Dynamic-link library , ou Biblioteca de vinculo dinâmica) para executar functions ou procedures.

Sintaxe

ExecInDllOpen( < cDLLName > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cDLLName

caractere

Indica o nome e caminho da DLL.

X

 

Retorno

Nome

Tipo

Descrição

nHandle

numérico

Retorna o handle de abertura da DLL.

Observações

  • Caso não informado o caminho, a aplicação irá procurar a DLL no mesmo diretório do Smart Client.

Exemplos

extern "C" __declspec(dllexport) int ExecInClientDLL(int ID, char * Buf, int nBuf, char * Buf2, int nBuf2)
{
  if(ID==1)
  {
    strcpy(Buf2,"Retorno opção 01");
    return 1;
  }
  else if (ID == 2)
  {
    strcpy(Buf2, "Retorno opção 02");
    return 2;
  }
  return -1;
}
User Function Exemplo()

Local hHdl := 0,buffer := "",xRet1 := 0
// 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))

// ----------------------------------------------------------------
// Fecha a DLL
ExecInDllClose( hHdl )

Return

Preview

Veja também

 

  • No labels