Sr. Antonio como declarar esta função em FIVEWIN:
short int (STDCALL *SWEDA_CapturarDispositivo) (short int Dispositivo, short int Opcoes, char *Arquivo, short int Extensao, long Timeout, TCallBackCD CallBack, void *Instancia);
tentei assim:
#include <hbapi.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>
#include <string.h>
#include "loadlib.h"
typedef int (*fSWEDA_CapturarDispositivo) (short int Dispositivo, short int Opcoes, char *Arquivo, short int Extensao, long Timeout, void *CallBack, void *Instancia);
static void *pLib = NULL;
static fSWEDA_CapturarDispositivo SWEDA_CapturarDispositivo = NULL;
/******************************************************************************/
HB_FUNC(INICIASWD)
{
char cErrMsg[1024] = {0};
// char cLibPrinc[] = "libswmfd.so.0";
char cLibPrinc[] = "libswmfd.so";
int iRet = FALSE;
if (pLib == NULL)
{
if ((pLib = LoadLib(cLibPrinc, TRUE, cErrMsg)) == NULL);
else if ((SWEDA_CapturarDispositivo = (fSWEDA_CapturarDispositivo) GetFunc(pLib, "SWEDA_CapturarDispositivo" , cLibPrinc, cErrMsg)) == NULL);
else iRet = TRUE;
}
if (!iRet)
{
hb_storc(cErrMsg, 1);
hb_retl(iRet);
}
else
{
hb_retl(iRet);
}
}
HB_FUNC(_SWEDATES)
{
short int a = hb_parni(1);
short int b = hb_parni(2);
char c[150] = {0} ;
short int d = hb_parnl(4);
long e = hb_parnl(5);
char f[150] = {0} ;
char g[150] = {0} ;
strcpy(c, hb_parc(3));
strcpy(f, hb_parc(6));
strcpy(g, hb_parc(7));
ErroFunc(SWEDA_CapturarDispositivo,"SWEDA_CapturarDispositivo");
hb_retni(SWEDA_CapturarDispositivo(a, b, c, d, e, f, g));
}
Chamo ela assim:
_SWEDATES(1,0,'',0,15000)
Mais o sistema encerra sem dar nenhuma mensagem de erro.