Abaixo tem um código que montei e emite a leitura X de uma impressora fiscal usando a porta serial. Gostaria de saber o que acontece que quando utilizo esta função em um micro com porta serial, ela funciona corretamente e qdo uso em um micro sem porta serial mas usando emulador de porta ele não funciona, é alguma coisa com a função pragma? vocês poderiam ajudar.
–EMITE LEITURA X
function A_LeituraX(fhandle Ora_Ffi.Funchandletype) RETURN BINARY_INTEGER;
PRAGMA interface(C,A_LeituraX, 11265);
function LeituraX (impressora in varchar2)RETURN BINARY_INTEGER IS
BEGIN
FDLL:= Ora_Ffi.Load_Library (VAR_CFDIR,’BemaFI32.dll’);
DLL_FUNCAO:= Ora_Ffi.Register_Function(FDLL, ‘Bematech_FI_LeituraX’,Ora_Ffi.C_Std);
Ora_Ffi.Register_Return (DLL_FUNCAO, Ora_Ffi.C_INT);
RETURN A_LeituraX(DLL_FUNCAO);
EXCEPTION
WHEN OTHERS THEN
MESSAGE(‘Erro: ‘||sqlerrm||’ Impressora ‘||impressora||’ não é válida! Verifique cadastro de impressoras fiscais’);
MESSAGE(‘Erro: ‘||sqlerrm||’ Impressora ‘||impressora||’ não é válida! Verifique cadastro de impressoras fiscais’);
END LeituraX;