ORA_FFI - ERRO NO FINAL

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
rjahnke.josoftware
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Qui, 18 Nov 2010 9:11 am
Localização: Porto Alegre
Rogério Jahnke

Boa tarde pessoal, eu aqui novamente, ainda em relação NFS-E, mas agora consegui uma DLL para fazer a comunicação com Forms 6.i que por sua fez passa alguns parâmetros e a mesma(DLL) faz o serviço de assinatura e envio para Prefeitura, teoricamente é o que deveria fazer, mas estou com erro “ACCESS_VIOLATION” a baixo estou mandando o meu PL/SQL e o erro estou primeiramente vendo se consigo comunicação com a DLL, para avançar sua utilização, mas me deparei com este erro se alguém puder me ajudar ou tiver alguma idéia, agradeço muito.

Banco Oracle 10g.
Forms 6.i Patch_17 aplicado.

Procedimentos:


WHEN-BUTTON-PRESSED

Selecionar tudo

DECLARE
  --
  lv_municipio varchar2(7) := '3305802'; --'4314407';
  lv_amb       varchar2(11):= 'Homologacao';
  lv_texto     varchar2(20):= 'Primeiro Teste Echo';
  LV_CHAR VARCHAR2(2000);
  --
BEGIN
  --
  :PESQ.VERSAO := NFSE.COMUNICADLL(lv_amb,lv_municipio,lv_texto);
  --
 	DBG ('SAI COM RESULDADO');
  EXCEPTION
   --	
    when others then
    	message (sqlerrm);
      pause;
      raise form_trigger_failure; 
END;
--
-PACOTE
-

Selecionar tudo

PACKAGE NFSE IS
--
FUNCTION COMUNICADLL(lv_homologacao    IN VARCHAR2, 
                     lv_municipio      IN VARCHAR2, 
                     lv_texto          IN VARCHAR2) RETURN VARCHAR2;
--
END;

Selecionar tudo

PACKAGE BODY NFSE IS
--
FDLL       Ora_Ffi.Libhandletype;
DLL_FUNCAO Ora_Ffi.Funchandletype;
--
FUNCTION CHAMAFUNCAOINOUT(fhandle Ora_Ffi.Funchandletype,
                          lv_homologacao    IN VARCHAR2,
                          lv_municipio      IN VARCHAR2,
                          lv_texto          IN VARCHAR2)RETURN VARCHAR2;
PRAGMA interface(C, CHAMAFUNCAOINOUT, 11265);
--
--
--TESTA ESTA FUNÇÃO
FUNCTION COMUNICADLL(lv_homologacao    IN VARCHAR2,
                     lv_municipio      IN VARCHAR2,
                     lv_texto          IN VARCHAR2) RETURN VARCHAR2 IS
BEGIN
  --
  FDLL := Ora_Ffi.Load_Library ('C:\WINDOWS\SYSTEM32\','InterfaceEasy.dll');
  dbg ('OK LOAD');
  DLL_FUNCAO := Ora_Ffi.Register_Function(FDLL,'Echo',ORA_Ffi.C_STD);
  DBG ('OK REGISTRO');
  Ora_Ffi.Register_Parameter (DLL_FUNCAO, ora_ffi.C_CHAR);  
  Ora_Ffi.Register_Parameter (DLL_FUNCAO, ora_ffi.C_CHAR);
  Ora_Ffi.Register_Parameter (DLL_FUNCAO, ora_ffi.C_CHAR);  
  DBG ('OK PARAMETRO');
  Ora_Ffi.Register_Return (DLL_FUNCAO,Ora_Ffi.C_CHAR);
  DBG ('OK REGISTRA');  
  --
  --
  --'PROBLEMA ABAIXO E SAI DO FORMS SE OLHAR O LOG DO ERRO 
  --[01/17/12 14:16:04 E. South America Daylight Time]::Client Status [ConnId=0, PID=25696]
	-->> ERROR: Abnormal termination, Error Code: C0000005 ACCESS_VIOLATION
  -- DLL Module: C:\WINDOWS\system32\kernel32.dll
  --Fault address:  77E6C427 01:0002B427
  --Module: C:\WINDOWS\system32\kernel32.dll
  --ESTA DLL NEM CHAMO NA MINHA APLICAÇÃO, alguém SABE ME DIZER ALGO?
  --
  RETURN(CHAMAFUNCAOINOUT(DLL_FUNCAO,lv_homologacao,lv_municipio,lv_texto));
  dbg ('passei');
  --
  --
  EXCEPTION
  --	
    WHEN Ora_Ffi.Ffi_Error THEN
      /* print error message */
      text_io.put_line(tool_err.message);
      /* discard the error */
      tool_err.pop;   
    when others then
    	message (sqlerrm);
      pause;
      raise form_trigger_failure; 
END COMUNICADLL;

END;
Erro no log do forms:

01/17/12 14:16:04 E. South America Daylight Time]::Client Status [ConnId=0, PID=25696]
>> ERROR: Abnormal termination, Error Code: C0000005 ACCESS_VIOLATION

======================= STACK DUMP =======================

Fault address: 77E6C427 01:0002B427
Module: C:\WINDOWS\system32\kernel32.dll

System Information:
Operating System: Windows NT Version 5.2 Build 3790 Service Pack 2
Command line: IFDBG60 -SsL09@
FORM/BLOCK/FIELD: AT5450:MOV.BT_ASSINA_XML
Last Trigger: WHEN-BUTTON-PRESSED - (In Progress)
Msg: <NULL>
Last Builtin: SHOW_ALERT - (Successfully Completed)

Registers:
EAX:00000048
EBX:00152E20
ECX:000001B5
EDX:00000049
ESI:000004E4
EDI:00000000
CS:EIP:001B:77E6C427
SS:ESP:0023:0013C548 EBP:0013C578
DS:0023 ES:0023 FS:003B GS:0000
Flags:00010246


:cry:
rjahnke.josoftware
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Qui, 18 Nov 2010 9:11 am
Localização: Porto Alegre
Rogério Jahnke

Bom dia!

Pessoal, achei a solução para meu problema estou começando os testes com a prefeitura, estou usando um componente OLE para Assinar e Enviar a prefeitura, obrigado a os que de alguma forma tentaram e pensaram numa solução para me ajudar.

:-o
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 14 visitantes