Página 1 de 1

Usar DLLInscrE32.DLL

Enviado: 31 Mar 2009 22:56
por marcos.gurupi
Caros como faco para usar a funcao dllcall() para DLLInscrE32.dll

Marcos Roberto.

Re: Usar DLLInscrE32.DLL

Enviado: 01 Abr 2009 09:34
por frazato
Uso desta forma e funciona bem, peguei este exemplo em algum lugar não me lembro.

Frazato

Código: Selecionar todos

nRet := VALIDA_INSCRICAOESTADUAL(Alltrim(pIe),puf)


//------------------------------------------------
Static Function Ieok(puf,pie)
local nRet  // se 0, valido, se diferente de 0, invalido

      nRet := VALIDA_INSCRICAOESTADUAL(Alltrim(pIe),puf)
      If nRet#0
         Alerta('Inscricao nao valida para o Estado '+chr(10)+;
                pIe+' UF :'+pUf)
         VoltaFoco()
      Endif
return Iif(nRet==0,.t.,.f.)


#pragma BEGINDUMP
#include "windows.h"
#include "hbapi.h"

typedef INT (WINAPI * _CONSISTEINSCRICAOESTADUAL)(
    const char *szInscr_Est,const char *szEstado);

HB_FUNC( VALIDA_INSCRICAOESTADUAL )
{
   HINSTANCE handle = LoadLibrary( "Dllinscr.Dll" );
   if ( handle )
   {
      const char *szInscr_Est = hb_parcx(1);
      const char *szEstado = hb_parcx(2);
      _CONSISTEINSCRICAOESTADUAL pFunc;

      pFunc = ( _CONSISTEINSCRICAOESTADUAL ) GetProcAddress( handle,"ConsisteInscricaoEstadual");
      hb_retni( pFunc( szInscr_Est,szEstado ));
      FreeLibrary( handle );
   }
}
#pragma ENDDUMP

Return Nil

Re: Usar DLLInscrE32.DLL

Enviado: 02 Abr 2009 17:28
por marcos.gurupi
Eh isso mesmo. Obrigado!

Marcos Roberto.