User Function DllTeste()

Local hHdl := 0,buffer := "",xRet1 := 0
// Abre Dll
hHdl := ExecInDLLOpen( "DllTeste.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 := ExeDllRun2( hHdl, 1, @buffer )
alert("Retorno da ExeDllRun2: " + Alltrim(Str(xRet1)) + " - " + buffer)


// ExeDllRun2 retorna valor numérico da DLL
buffer:= "Executando a partir da ExeDllRun2..."
xRet2 := ExeDllRun2( hHdl, 2, @buffer )
alert("Retorno da ExeDllRun2: " + Alltrim(Str(xRet2)) + " - " + buffer)

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

Return