Criei um pll conforme abaixo:
PACKAGE USER32DLL IS
FUNCTION MESSAGE (XMESSAGE VARCHAR2, XTITLE VARCHAR2, XTYPE PLS_INTEGER)
RETURN PLS_INTEGER;
END;
----------
PACKAGE BODY USER32DLL IS
LIB ORA_FFI.LIBHANDLETYPE;
F_MESSAGE ORA_FFI.FUNCHANDLETYPE;
FUNCTION I_MESSAGE (FUNCHANDLE IN ORA_FFI.FUNCHANDLETYPE, XHWND VARCHAR2, XMESSAGE VARCHAR2, XTITLE VARCHAR2, XTYPE VARCHAR2) RETURN PLS_INTEGER;
PRAGMA INTERFACE (C, I_MESSAGE, 11265);
FUNCTION MESSAGE(XMESSAGE VARCHAR2, XTITLE VARCHAR2, XTYPE PLS_INTEGER) RETURN PLS_INTEGER IS
BEGIN
LIB := ORA_FFI.LOAD_LIBRARY (NULL, 'User32.dll');
F_MESSAGE := ORA_FFI.REGISTER_FUNCTION (LIB, 'MessageBoxA', ORA_FFI.C_STD);
ORA_FFI.REGISTER_PARAMETER (F_MESSAGE, ORA_FFI.C_INT);
ORA_FFI.REGISTER_PARAMETER (F_MESSAGE, ORA_FFI.C_CHAR_PTR);
ORA_FFI.REGISTER_PARAMETER (F_MESSAGE, ORA_FFI.C_CHAR_PTR);
ORA_FFI.REGISTER_PARAMETER (F_MESSAGE, ORA_FFI.C_INT);
ORA_FFI.REGISTER_RETURN (F_MESSAGE, ORA_FFI.C_INT);
RETURN I_MESSAGE (F_MESSAGE, 0, XMESSAGE, XTYPE, XTYPE);
END;
END;
Estou tentando criar esse pll para ser invocado do Reports 6i, mas nem mesmo no Forms estou conseguindo.
Alguma sugestão?