Error on "webutil_c_api.invoke_int"

Hello,
i'm testing a DLL that was used in Oracle Forms 6i using ORA_FFI.
the function that i'm testing it on Oracle 10g is :
Function LS100_Open (hwnd in out pls_integer,
Hinst in out pls_integer,
Type_com in char) return pls_integer
The Code in Oracle 10g is :
declare
ret_val      pls_integer;
hwnd          pls_integer;     
handle          pls_integer;     
typ_com          varchar2(1):= 'S';
f_handle      webutil_c_api.FunctionHandle;
args          webutil_c_api.ParameterList;
param1          webutil_c_api.ParameterHandle;
param2          webutil_c_api.ParameterHandle;
param3          webutil_c_api.ParameterHandle;
begin
f_handle := webutil_c_api.register_function('Ls100.dll','LS100_Open');
args := webutil_c_api.create_parameter_list;
param1 := webutil_c_api.add_parameter(args,webutil_c_api.c_int,webutil_c_api.param_out,hwnd);
param2 := webutil_c_api.add_parameter(args,webutil_c_api.c_int,webutil_c_api.param_out,handle);
param3 := webutil_c_api.add_parameter(args,webutil_c_api.c_char,webutil_c_api.param_in,typ_com,1);
ret_val     := webutil_c_api.invoke_int('Ls100.dll','LS100_Open',args);
WEBUTIL_C_API.Destroy_Parameter_List(args);
WEBUTIL_C_API.Deregister_Function(f_handle);
end;
when i execute this code the following error appears:
"WUL-910 Invoking the function failed: java.lang.IllegalArgumentException: unrecognized argument type"
Is there anything wrong in my code ???

hi,
the function in dll is:
-- pll in 6i ---
LS100_lhandle ORA_FFI.LIBHANDLETYPE;
LS100_Open_fhandle ORA_FFI.FUNCHANDLETYPE;
FUNCTION ff_LS100_Open (LS100_Open_fhandle ORA_FFI.FUNCHANDLETYPE,
hWnd IN OUT PLS_INTEGER,
Hinst IN OUT PLS_INTEGER,
Type_com IN CHAR) RETURN PLS_INTEGER;
PRAGMA interface (C, ff_LS100_Open, 11265);
FUNCTION LS100_Open (hWnd IN OUT PLS_INTEGER, --not a pointer
Hinst IN OUT PLS_INTEGER, -- not a pointer
Type_com IN CHAR) -- not a pointer
RETURN PLS_INTEGER IS
BEGIN
RETURN( FF_LS100_Open( LS100_Open_fhandle, hWnd, Hinst, Type_com));
END; /* function LS100_Open() */
and in the documentation of the function in the library is defined as :
LS100_Open
#include "LS100.h"
Result API LS100_Open (HWND      hwnd,
HANDLE      Hinst,
CHAR      Type_com);
Description
Open a connection between client and LS service.
Parameters
Hwnd     
Handle of the application windows which will receive the notification messages.
Hinst     
Hinstance of the application window
Type_com     
Execution mode of the command:
SUSPENSIVE_MODE = Synchronous mode
NOT_SUSPENSIVE_MODE = Asynchronous mode
Return Value
LS100_OKAY if successful
LS100_TRY_TO_RESET if the peripheral is in error state otherwise standard reply code.
I have already the howto_ffi.html file and i have already did the following:
- configuring the Webutil 1.0.5 (production release)
- adding the library "LS100" to the Webutil.cfg
- copy the library "LS100" and paste it into webutil\lib
I also tried the following:
I did omit the register/deregister_function, the code become as following and the same error occured after the 3rd add_parameter :
declare
ret_val      pls_integer;
hwnd          number;     
handle          number;     
typ_com          varchar2(1):= 'S';
len_typ          pls_integer := 1;
f_handle      webutil_c_api.FunctionHandle;
args          webutil_c_api.ParameterList;
param1          webutil_c_api.ParameterHandle;
param2          webutil_c_api.ParameterHandle;
param3          webutil_c_api.ParameterHandle;
xx number;
yy number;
begin
-- f_handle := webutil_c_api.register_function('Ls100.dll','LS100_Open');
args     := webutil_c_api.create_parameter_list;
message('1');
param1      := webutil_c_api.add_parameter(args,webutil_c_api.c_int,webutil_c_api.param_out,hwnd);
message('2');
param2      := webutil_c_api.add_parameter(args,webutil_c_api.c_int,webutil_c_api.param_out,handle);
message('3');
param3      := webutil_c_api.add_parameter(args,webutil_c_api.c_char,webutil_c_api.param_in,typ_com,len_typ);
Now the same error appears in this stage:
" WUL-910 Invoking the function failed: java.lang.IllegalArgumentException: unrecognized argument type "
and the running continue
message('before invoke_int');
-- the "invoke_int" runs without any errors
ret_val     := webutil_c_api.invoke_int('Ls100.dll','LS100_Open',args);
xx := webutil_c_api.get_parameter_number(args,param1);
yy := webutil_c_api.get_parameter_number(args,param2);
message('hwnd ='||xx); -- => 0
message('handle ='||yy); -- => 0
message('ret_val ='||ret_val); -- => <nothing>
WEBUTIL_C_API.Destroy_Parameter_List(args);
--WEBUTIL_C_API.Deregister_Function(f_handle);                                        
end;
Thanks

Similar Messages

  • Webutil_c_api char error

    I'm trying to execute the following C function:
    extern "C" PRUEBADLL_API int fnPruebaDLL(char* value);
    This function shows a simple Dialog.
    Firtsly I executed the function:
    extern "C" PRUEBADLL_API int fnPruebaDLL();
    And it was ok. But with the param it doesn't work. My PL/SQL code is:
              FUNCTION dll_PruebaDLL(value1 IN OUT CHAR) RETURN PLS_INTEGER IS
                   prueba_func webutil_c_api.FunctionHandle;
                   prueba_params webutil_c_api.ParameterList;
                   prueba_param1 webutil_c_api.ParameterHandle;
                   prueba_return PLS_INTEGER;
                   BEGIN
                        prueba_func := webutil_c_api.register_function('PruebaDLL.dll', 'fnPruebaDLL');
                        prueba_params := webutil_c_api.create_parameter_list;
                        prueba_param1 := webutil_c_api.add_parameter(prueba_params, webutil_c_api.C_CHAR_PTR, webutil_c_api.PARAM_INOUT, value1);
                        prueba_return := webutil_c_api.Invoke_Int('PruebaDLL.dll', 'fnPruebaDLL', prueba_params);
                        webutil_c_api.destroy_parameter_list(prueba_params);
                        webutil_c_api.deregister_function(prueba_func);
                        return prueba_return;          
              END dll_PruebaDLL;           
    Does anybody know why it doesn't work?

    You ommit the length of value1.
    This line
    prueba_param1 := webutil_c_api.add_parameter(prueba_params, webutil_c_api.C_CHAR_PTR, webutil_c_api.PARAM_INOUT, value1);
    should read
    prueba_param1 := webutil_c_api.add_parameter(prueba_params, webutil_c_api.C_CHAR_PTR, webutil_c_api.PARAM_INOUT, value1, length(value1));

  • WebUtil_c_Api problem

    I´m trying to execute the following C function:
    extern "C" __declspec( dllexport ) int add(int* value1, int* value2);
    So I have make the folling package:
    PACKAGE BODY calculator IS
         add_func webutil_c_api.FunctionHandle;
         add_func_parameters webutil_c_api.ParameterList;
         add_param1 webutil_c_api.ParameterHandle;
         add_param2 webutil_c_api.ParameterHandle;
         add_return PLS_INTEGER;     
         FUNCTION i_dll_add(add_func IN webutil_c_api.FunctionHandle, value1 IN OUT NOCOPY PLS_INTEGER,
                   value2 IN OUT NOCOPY PLS_INTEGER)
                   RETURN PLS_INTEGER;
         PRAGMA INTERFACE (c, i_dll_add, 11265);
         FUNCTION dll_add (value1 IN OUT NOCOPY PLS_INTEGER, value2 IN OUT NOCOPY PLS_INTEGER)
              RETURN PLS_INTEGER IS
              BEGIN
                   RETURN i_dll_add(add_func, value1, value2);
    END dll_add;
              add_func := webutil_c_api.register_function('Calculator_ws.dll', 'add');
              add_func_parameters := webutil_c_api.create_parameter_list;           
              add_param1 := webutil_c_api.add_parameter(add_func_parameters, webutil_c_api.C_INT_PTR, webutil_c_api.PARAM_INOUT, 0);
              add_param2 := webutil_c_api.add_parameter(add_func_parameters, webutil_c_api.C_INT_PTR, webutil_c_api.PARAM_INOUT, 1);
              add_return := webutil_c_api.Invoke_Int('Calculator_ws.dll', 'add', add_func_parameters);           
              webutil_c_api.Destroy_Parameter_List(add_func_parameters);
              webutil_c_api.Deregister_Function(add_func);           
    END calculator;
    But when I execute the FUNCTION it doesn't work. Does anyone which could be the problem?
    Thank you.

    Look again at your code - It seems to me this has been converted from some ORA_FFI code am I correct??
    If you are calling the dll_add function then this is in turn calling i_dll_add, and that is calling to a DLL loaded on the server side (that's the pragma interface bit) and not touching WebUtil or the client side at all.
    So rip out the i_dll_add spec and body and move all the webutil code calls into dll_add where they will actually be called.

  • Webutil invoke.string problem with c++

    hi ,
    am using forms 10g and trying to call a dll in c++
    it works when i call the dll using webutil to return an integer from the dll by sending 2 parameters of type varchar2
    to invoke the function returning integer
    rc1 := WEBUTIL_C_API.Invoke_int('cards_dll.dll','Retrieving',args);     
    but when i try to return string an error occurs from the exception because oracle cant understand the type returned from c++ dll
    this is my code in c++ wish is correct
    am sending one parameter in my parameter list of type varcahar2 and i want to return a string from c
    f_handle      := WEBUTIL_C_API.register_function('cards_dll.dll','Retrieving');
    args      := WEBUTIL_C_API.create_parameter_list;
    param1      := WEBUTIL_C_API.add_parameter(args,WEBUTIL_C_API.C_CHAR_PTR,WEBUTIL_C_API.PARAM_IN ,x,6);
    rc1 := WEBUTIL_C_API.Invoke_string('cards_dll.dll','Retrieving',args);     -----here is the problem
    WEBUTIL_C_API.Destroy_Parameter_List(args);
    WEBUTIL_C_API.Deregister_Function(f_handle);                                                                                
    return rc1;
    EXCEPTION
         WHEN OTHERS THEN
         MESSAGE('ERROR:' || ERROR_TEXT);
         FOR I IN 1..Tool_Err.Nerrors
         LOOP
              message (Tool_Err.Message);PAUSE;
              Tool_Err.Pop;
         END LOOP;
    END ;
    in c++dll
    am using
    extern "C" __declspec(dllexport) LPCSTR __cdecl Retrieving(LPCSTR com_reader);
    //it means return longpointer and receive long pointer in com_reader
    LPCSTR result ;
    RESULT = "JIHAD abou ghannam 10081977 august10" as example
    return RESULT;
    what should i do to receive jihad in forms 10g.
    note i can get back an integer using extern "C" __declspec(dllexport) int __cdecl Retrieving(LPCSTR com_reader);
    but not a string so its not a hardware or web problem its a type problem i think, no?
    there is another way to use other than invoke.string in oracle or i have to change the type LPCSTR IN C++?

    hi ,
    am using forms 10g and trying to call a dll in c++
    it works when i call the dll using webutil to return an integer from the dll by sending 2 parameters of type varchar2
    to invoke the function returning integer
    rc1 := WEBUTIL_C_API.Invoke_int('cards_dll.dll','Retrieving',args);     
    but when i try to return string an error occurs from the exception because oracle cant understand the type returned from c++ dll
    this is my code in c++ wish is correct
    am sending one parameter in my parameter list of type varcahar2 and i want to return a string from c
    f_handle      := WEBUTIL_C_API.register_function('cards_dll.dll','Retrieving');
    args      := WEBUTIL_C_API.create_parameter_list;
    param1      := WEBUTIL_C_API.add_parameter(args,WEBUTIL_C_API.C_CHAR_PTR,WEBUTIL_C_API.PARAM_IN ,x,6);
    rc1 := WEBUTIL_C_API.Invoke_string('cards_dll.dll','Retrieving',args);     -----here is the problem
    WEBUTIL_C_API.Destroy_Parameter_List(args);
    WEBUTIL_C_API.Deregister_Function(f_handle);                                                                                
    return rc1;
    EXCEPTION
         WHEN OTHERS THEN
         MESSAGE('ERROR:' || ERROR_TEXT);
         FOR I IN 1..Tool_Err.Nerrors
         LOOP
              message (Tool_Err.Message);PAUSE;
              Tool_Err.Pop;
         END LOOP;
    END ;
    in c++dll
    am using
    extern "C" __declspec(dllexport) LPCSTR __cdecl Retrieving(LPCSTR com_reader);
    //it means return longpointer and receive long pointer in com_reader
    LPCSTR result ;
    RESULT = "JIHAD abou ghannam 10081977 august10" as example
    return RESULT;
    what should i do to receive jihad in forms 10g.
    note i can get back an integer using extern "C" __declspec(dllexport) int __cdecl Retrieving(LPCSTR com_reader);
    but not a string so its not a hardware or web problem its a type problem i think, no?
    there is another way to use other than invoke.string in oracle or i have to change the type LPCSTR IN C++?

  • Using Forms 10.1.2.3 and JRE1.6.0_10, web.show_document pops window behind

    Hello everyone, we are using Forms 10.1.2.3 and JRE1.6.0_10. We have separateFrame=true. We noticed when we open another browser using web.show_document('xxxx','_blank'), for example to our online help, the window pops behind the Forms MDI window. In previous versions of java it always popped in front of it like you would expect. We are using XP and IE7. It also acted the same way on Vista with IE7 as well. Has anyone else encountered this or found a workaround?

    As far as the dll goes, our dll is written in C and uses I guess windows api calls to start whatever task we need. (I didnt write it). As far as the forms code goes, we use the webutil_c_api calls. Here's a sample of the function I call from forms:
    FUNCTION StartTask ( pStartin varchar2, pCommandline varchar2, perrormessage in out varchar2) return number IS
              StartIn varchar2(255) := pStartIn;
              Commandline varchar2(1000) := pCommandline;
              Errmsg varchar2(2000):='$$';
         rc pls_integer;
              f_handle WEBUTIL_C_API.FUNCTIONHANDLE;
              args Webutil_c_api.parameterlist;
              param1 Webutil_c_api.ParameterHandle;
              param2 Webutil_c_api.ParameterHandle;
              param3 Webutil_c_api.ParameterHandle;
         begin
              --debuglog('calling StartTask local');
              f_handle := WEBUTIL_C_API.register_function('ClientUtils.dll','StartTask');
              args := WEBUTIL_C_API.create_parameter_list;
         param1 := WEBUTIL_C_API.add_parameter(args,WEBUTIL_C_API.C_CHAR_PTR
              ,WEBUTIL_C_API.PARAM_INOUT,StartIn, 255);
              param2 := WEBUTIL_C_API.add_parameter(args,WEBUTIL_C_API.C_CHAR_PTR
              ,WEBUTIL_C_API.PARAM_INOUT,Commandline, 1000);
              param3:= WEBUTIL_C_API.add_parameter(args,WEBUTIL_C_API.C_CHAR_PTR
              ,WEBUTIL_C_API.PARAM_INOUT,Errmsg, 2000);          
              rc := WEBUTIL_C_API.Invoke_Int(     'ClientUtils.dll','StartTask',args);     
              perrormessage := WEBUTIL_C_API.GET_PARAMETER_STRING(args,param3);
         WEBUTIL_C_API.Destroy_Parameter_List(args);
         WEBUTIL_C_API.Deregister_Function(f_handle);                                                                                
         return rc;
         END;

  • Calling Windows API From Forms.

    For example, how can i call the MessageBoxA function from user32.dll whilst working in an Oracle Forms Application.
    Thank you.

    You shall have to use the WEBUTIL_C_API.Invoke_Int function for this purpose. Please see the following example that Locks the workstation.
    -- IMPORTANT
    -- Be sure to review the following My Oracle Support Note
    -- Doc ID: 285331.1 - "Exception When Calling PASCAL style Function Via WebUTIL_C_API"
    declare
      rc pls_integer;
         f_handle WEBUTIL_C_API.FUNCTIONHANDLE;
         args Webutil_c_api.parameterlist;
         winSysDir varchar2(255) := Client_Win_API_ENVIRONMENT.Get_Windows_Directory || '\system32\';
    --- IMPORTANT ---
    -- WEBUTIL_C_API CURRENTLY ONLY SUPPORTS CALLING C STYLE LIBRARIES, THEREFORE SOME WINDOWS LIBRARIES CANNOT BE CALLED.
    -- ADDITIONALLY, IT IS NOT RECOMMENDED THAT YOU ATTEMPT TO CALL FUNCTIONS WHICH REQUIRE ARGS.
    -- USE EXTREME CAUTION WHEN CALLING WINDOWS APIS.
    -- BE SURE TO THOROUGHLY TEST BEFORE MOVING TO PRODUCTION
    -- LOOK CLOSELY AT BOTH STABILITY AND MEMORY USAGE AS SOME CALLS
    -- MAY RESULT IN THE APPEARANCE OF A MEMORY LEAK.
    -- This call to USER32.DLL will reference the LOCKWORKSTATION function.
    -- If the current OS user does not have a password configured, the workstation may not lock.
    -- The Windows LockWorkStation function requires no args to be passed in.
    -- WebUtil expects something to be passed in. So an empty paramlist will be created.
    begin
    If webutil_clientinfo.get_operating_system LIKE 'Win%' Then          
         f_handle := WEBUTIL_C_API.register_function(winSysDir||'user32.dll','LockWorkStation');
         args := WEBUTIL_C_API.create_parameter_list;          
    If the function succeeds, the return value is nonzero. Because the function executes asynchronously,
    a nonzero return value indicates that the operation has been initiated. It does not indicate whether
    the workstation has been successfully locked.  If the function fails, the return value is zero.
        http://msdn.microsoft.com/en-us/library/aa376875(v=VS.85).aspx
         rc := WEBUTIL_C_API.Invoke_Int(winSysDir||'user32.dll','LockWorkStation',args);     
    End if;
      WEBUTIL_C_API.Destroy_Parameter_List(args);
      WEBUTIL_C_API.Deregister_Function(f_handle);               
      SYNCHRONIZE;
    end;

  • Convert ORA_FFI to WEBUTIL_C_API to print locally

    I am trying to figure out how to convert this package to WEBUTIL_C_API to be able to print to a users local printer (EPSON slip printer)... ANY help would be appreciated...
    PACKAGE EPSON_SLIP_PRINTER_INTERFACE IS
    * This package provides functions to interact with the EPSON
    * TM-U295 slip printers.
    * The OPEN_PRINTER function must be called to obtain a printer ID.
    * This printer ID can then be used when calling other functions
    * that require a printer to be specified.
    * NOTE that the printer ID is only valid within the same thread
    * that called the OPEN_PRINTER function.
    * Brendan Rickey 2004-JAN-09
    -- AVAILABLE PRINTERS
    CHEQUE_PRINTER     VARCHAR2(50) := 'Generic / Text Only droite';
    INVOICE_PRINTER     VARCHAR2(50) := 'Generic / Text Only left';
    -- ERROR CODES
    -- Some of the provided functions return a NUMBER value that may hold
    -- an error code (negative number).
    -- These are the possible error codes:
    SUCCESS                    NUMBER := 0;     --no error
    ERR_TYPE               NUMBER := -10;     --parameter type error
    ERR_OPENED               NUMBER := -20; --printer already opened
    ERR_NO_PRINTER     NUMBER := -30;     --the printer driver does not exist
    ERR_NO_TARGET          NUMBER := -40;     --no printer found (could of off, faulty, unsupported)
    ERR_NO_MEMORY          NUMBER := -50;     --insufficient memory
    ERR_HANDLE               NUMBER := -60;     --invalid printer ID
    ERR_TIMEOUT               NUMBER := -70;     --time out error
    ERR_ACCESS               NUMBER := -80;     --cannot read/write to printer (printing in progress)
    ERR_PARAM               NUMBER := -90;     --parameter error
    ERR_OFFLINE               NUMBER := -110;     --printer was opened in offline state.  Status must be changed to online.
    ERR_NOT_EPSON          NUMBER := -120;     --printer is not an EPSON printer
    * INITIALIZE
    * Initializes the interface between Forms and the EPSON library (call before any other function in the package).
    * Returns:
    * TRUE if the library is registered successfully,
    * FALSE otherwise (library not found etc...)
    function INITIALIZE return BOOLEAN;
    * OPEN_PRINTER
    * Obtains a handle on the specified EPSON slip printer (either CHEQUE_PRINTER or INVOICE_PRINTER).
    * Returns:
    *           a printer ID for the specified printer (greater than 0)
    *           an error code on failure (less than 0):
    * ERR_TYPE, ERR_OPENED, ERR_NO_PRINTER, ERR_NO_TARGET, ERR_NO_MEMORY, ERR_PARAM
    function OPEN_PRINTER (p_printer_name IN VARCHAR2) return NUMBER;
    * CLOSE_PRINTER
    * Releases the handle on the specified printer.
    * Returns:
    *           0 on success
    *           ERR_HANDLE on failure
    function CLOSE_PRINTER (p_printer_id IN NUMBER) return NUMBER;
    * IS_PAPER_OUT
    * Tests if there is no paper in the printer.
    * Returns:
    *           1 if there is no paper in the printer, 0 if paper is in the printer
    *           ERR_HANDLE or ERR_PARAM on failure.
    function IS_PAPER_OUT (p_printer_id IN NUMBER) return NUMBER;
    * PRINT_TEXT
    * Prints the specified text to the specified printer.
    * Returns:
    *           0 on success
    *           ERR_HANDLE, ERR_ACCESS, ERR_OFFLINE, ERR_NOT_EPSON, or ERR_PARAM on failure.
    function PRINT_TEXT (p_printer_id IN NUMBER, p_text IN VARCHAR2) return NUMBER;
    * RELEASE_PAPER
    * Performs the Release function on the specified printer.
    * Returns:
    *           0 on success
    *           ERR_HANDLE, ERR_ACCESS, ERR_OFFLINE, ERR_NOT_EPSON, or ERR_PARAM on failure.
    function RELEASE_PAPER (p_printer_id IN NUMBER) return NUMBER;
    /* PRIVATE FUNCTIONS
    function BiOpenMonPrinter(arg0 in PLS_INTEGER,
    arg1 in out VARCHAR2)
    return PLS_INTEGER;
    function BiCloseMonPrinter(arg0 in PLS_INTEGER)
    return PLS_INTEGER;
    function BiGetStatus(arg0 in PLS_INTEGER,
    arg1 in out PLS_INTEGER)
    return PLS_INTEGER;
    function BiDirectIO(arg0 in PLS_INTEGER,
    arg1 in PLS_INTEGER,
    arg2 in out VARCHAR2,
    arg3 in out PLS_INTEGER,
    arg4 in out VARCHAR2,
    arg5 in PLS_INTEGER,
    arg6 in PLS_INTEGER)
    return PLS_INTEGER;
    function BiDirectIOEx(arg0 in PLS_INTEGER,
    arg1 in PLS_INTEGER,
    arg2 in out VARCHAR2,
    arg3 in out PLS_INTEGER,
    arg4 in out VARCHAR2,
    arg5 in PLS_INTEGER,
    arg6 in PLS_INTEGER,
    arg7 in PLS_INTEGER)
    return PLS_INTEGER;
    END;
    PACKAGE BODY EPSON_SLIP_PRINTER_INTERFACE IS
    v_msg_b VARCHAR2(20);
    v_EPSON_LIBRARY_OK BOOLEAN:= FALSE;
    --ORA_FFI function handles and library handle
    lh_EpsStmApi ora_ffi.libHandleType;                    --DLL library handle
    fh_BiOpenMonPrinter ora_ffi.funcHandleType;          --DLL function handle
    fh_BiCloseMonPrinter ora_ffi.funcHandleType;     --DLL function handle
    fh_BiGetStatus ora_ffi.funcHandleType;               --DLL function handle
    fh_BiDirectIO ora_ffi.funcHandleType;               --DLL function handle
    fh_BiDirectIOEx ora_ffi.funcHandleType;               --DLL function handle
    --constant
    ASB_SLIP_BOF     PLS_INTEGER := 4*power(16,5);     --BOF printer status flag 0x00400000
    c_release_code      CHAR(2) := CHR(27)||CHR(113);     --ESC+q, to release the paper
    -------PRIVATE FUNCTIONS--------
    * Brendan Rickey 2004-JAN-09
    * The following are functions that are required to interface with the
    * EPSON StatusAPI DLL (C library) though ORA_FFI.
    * The following describes the DLL functions that are made available
    * through this ORA_FFI implementation:
    Function Purpose
    BiOpenMonPrinter Get a handle on a printer.
    Parameters
    p_Type --int: 1 if p_Name is a port, 2 if a printer name.
    ,p_Name --varchar2: the port of printer name to open.
    Return printer identifier number (>0) on success, < 0 on failure.
    BiCloseMonPrinter Close the monitor on the printer.
    Parameters
    p_Handle --int: The numerical printer handle returned from BiOpenMonPrinter.
    Return 0 on success, < 0 on failure.
    BiGetStatus Returns the status of the printer.
    Parameters     
    p_Handle --int: The numerical printer handle returned from BiOpenMonPrinter.
    ,p_Status OUT --long: The status of the printer (use AND bitwise operator to test for statuses).
    Return 0 on success, < 0 on failure.
    BiDirectIO Sends data to and Reads data from the printer. Use BiDirectIOEx if more that 255 chars are to be written/read.
    Parameters
    p_Handle --int: The numerical printer handle returned from BiOpenMonPrinter.
    ,p_WriteLen --short: The length of the command/data being sent to the printer (max 255).
    ,p_WriteCmd --varchar2: The command/data to send to the printer.
    ,p_ReadLen --short: The length of the data to be read from the printer (max 255)
    (Use 0 if no data is to be read).
    ,p_ReadBuff OUT --varchar2: The buffer where the the data read from the printer is stored.
    ,p_Timeout --long: write/read time out in msecs.
    ,p_NullTerminate --short: 0 => reading of data from printer is performed until time out or length of p_ReadLen is reached.
    1 => reading is finished at thepoint when a NULL is received from the printer. ReadLen must have a value.
    Return 0 on success, < 0 on failure.
    BiDirectIOEx Sends data to and Reads data from the printer (handles larger quantities of write/read data).
    Parameters
    p_Handle --int: The numerical printer handle returned from BiOpenMonPrinter.
    ,p_WriteLen --long: The length of the command/data being sent to the printer.
    ,p_WriteCmd --varchar2: The command/data to send to the printer.
    ,p_ReadLen --long: The length of the data to be read from the printer (Use 0 if no data is to be read).
    ,p_ReadBuff OUT --varchar2: The buffer where the the data read from the printer is stored.
    ,p_Timeout --long: write/read time out in msecs.
    ,p_NullTerminate --short: 0 => reading of data from printer is performed until time out or length of p_ReadLen is reached.
    1 => reading is finished at thepoint when a NULL is received from the printer. ReadLen must have a value.
    ,p_Option --short: 0 => prevents Automatic Status Back (ASB) during execution of this function (as does BiDirectIO).
    1 => does not disable Automatic Status Back (ASB).
    Return 0 on success, < 0 on failure.
    function icd_BiOpenMonPrinter(funcHandle in ora_ffi.funcHandleType, arg0 in PLS_INTEGER,
    arg1 in out VARCHAR2)
    return PLS_INTEGER;
    pragma interface(c, icd_BiOpenMonPrinter, 11265);
    function BiOpenMonPrinter(arg0 in PLS_INTEGER,
    arg1 in out VARCHAR2)
    return PLS_INTEGER is
    begin
    return(icd_BiOpenMonPrinter(fh_BiOpenMonPrinter,
    arg0,
    arg1));
    end;
    function icd_BiCloseMonPrinter(funcHandle in ora_ffi.funcHandleType, arg0 in PLS_INTEGER)
    return PLS_INTEGER;
    pragma interface(c, icd_BiCloseMonPrinter, 11265);
    function BiCloseMonPrinter(arg0 in PLS_INTEGER)
    return PLS_INTEGER is
    begin
    return(icd_BiCloseMonPrinter(fh_BiCloseMonPrinter,
    arg0));
    end;
    function icd_BiGetStatus(funcHandle in ora_ffi.funcHandleType, arg0 in PLS_INTEGER,
    arg1 in out PLS_INTEGER)
    return PLS_INTEGER;
    pragma interface(c, icd_BiGetStatus, 11265);
    function BiGetStatus(arg0 in PLS_INTEGER,
    arg1 in out PLS_INTEGER)
    return PLS_INTEGER is
    begin
    return(icd_BiGetStatus(fh_BiGetStatus,
    arg0,
    arg1));
    end;
    function icd_BiDirectIO(funcHandle in ora_ffi.funcHandleType, arg0 in PLS_INTEGER,
    arg1 in PLS_INTEGER,
    arg2 in out VARCHAR2,
    arg3 in out PLS_INTEGER,
    arg4 in out VARCHAR2,
    arg5 in PLS_INTEGER,
    arg6 in PLS_INTEGER)
    return PLS_INTEGER;
    pragma interface(c, icd_BiDirectIO, 11265);
    function BiDirectIO(arg0 in PLS_INTEGER,
    arg1 in PLS_INTEGER,
    arg2 in out VARCHAR2,
    arg3 in out PLS_INTEGER,
    arg4 in out VARCHAR2,
    arg5 in PLS_INTEGER,
    arg6 in PLS_INTEGER)
    return PLS_INTEGER is
    begin
    return(icd_BiDirectIO(fh_BiDirectIO,
    arg0,
    arg1,
    arg2,
    arg3,
    arg4,
    arg5,
    arg6));
    end;
    function icd_BiDirectIOEx(funcHandle in ora_ffi.funcHandleType, arg0 in PLS_INTEGER,
    arg1 in PLS_INTEGER,
    arg2 in out VARCHAR2,
    arg3 in out PLS_INTEGER,
    arg4 in out VARCHAR2,
    arg5 in PLS_INTEGER,
    arg6 in PLS_INTEGER,
    arg7 in PLS_INTEGER)
    return PLS_INTEGER;
    pragma interface(c, icd_BiDirectIOEx, 11265);
    function BiDirectIOEx(arg0 in PLS_INTEGER,
    arg1 in PLS_INTEGER,
    arg2 in out VARCHAR2,
    arg3 in out PLS_INTEGER,
    arg4 in out VARCHAR2,
    arg5 in PLS_INTEGER,
    arg6 in PLS_INTEGER,
    arg7 in PLS_INTEGER)
    return PLS_INTEGER is
    begin
    return(icd_BiDirectIOEx(fh_BiDirectIOEx,
    arg0,
    arg1,
    arg2,
    arg3,
    arg4,
    arg5,
    arg6,
    arg7));
    end;
    --------PUBLIC FUNCTIONS--------
    function INITIALIZE return BOOLEAN IS
    BEGIN
    --When this is the first package function called, code in the package's
    --body is executed and sets v_EPSON_LIBRARY_OK.
    RETURN v_EPSON_LIBRARY_OK;
    END;
    function OPEN_PRINTER (p_printer_name IN VARCHAR2) return NUMBER IS
         v_printer                    PLS_INTEGER;
         v_printer_name     VARCHAR2(50) := p_printer_name;
         v_name_type           PLS_INTEGER := 2; --use printer Name to specify printer     
    BEGIN
         /* Open a monitor for the printer */
         v_printer := BiOpenMonPrinter(v_name_type,v_printer_name);
         RETURN v_printer;
    END;
    function CLOSE_PRINTER (p_printer_id IN NUMBER) return NUMBER IS
    v_return PLS_INTEGER;
    BEGIN
    /* CLOSE the printer monitor */
         v_return := BiCloseMonPrinter(p_printer_id);
         RETURN v_return;
    END;
    function IS_PAPER_OUT (p_printer_id IN NUMBER) return NUMBER IS
         v_return          PLS_INTEGER;
         v_status          PLS_INTEGER := -123456;
    BEGIN
         /* Test if paper is in the printer by first getting the status (a binary integer) */
         v_return := BiGetStatus(p_printer_id,v_status);
         IF v_return <> 0 THEN
              RETURN v_return;
         ELSE
         --Test for BOF status flag
         IF WIN_API_BITOP.BITWISE_AND(v_status,ASB_SLIP_BOF) = ASB_SLIP_BOF THEN
              RETURN 1; --paper out
         ELSE
              RETURN 0; --paper in
         END IF;
         END IF;
    END;
    function PRINT_TEXT (p_printer_id IN NUMBER, p_text IN VARCHAR2) return NUMBER IS
    v_return          PLS_INTEGER;
    v_text               VARCHAR2(2000) := p_text;
    v_text_len          PLS_INTEGER;                    --number of characters to be printed
    v_read_len      PLS_INTEGER := 0;               --number of characters to be read from the printer
    v_read_buff      VARCHAR2(255) := NULL;          --not used: holds characters read from the printer
    v_timeout      PLS_INTEGER := 1000;          --not used: amount of time to wait for response (msecs)
         v_nullTerm          PLS_INTEGER := 0;               --not used: 0 means read until reached v_read_len or v_timeout
         -- 1 means read until NULL received from printer
         v_option          PLS_INTEGER := 0;           --0 means do not answer other requests while printing
                                                                --1 means do not stop answering other requests while printing
    BEGIN
         --Get the number of chars to be printed and then print.
         v_text_len := length(p_text);
         v_return := BiDirectIOEx(p_printer_id,
         v_text_len,
         v_text,
         v_read_len,
         v_read_buff,
         v_timeout,
         v_nullTerm,
         v_option);
         --Ignore timeout(-70) errors, otherwise return error
         IF v_return = -70 THEN
              v_return := 0;     
         END IF;
         RETURN v_return;
    END;
    function RELEASE_PAPER (p_printer_id IN NUMBER) return NUMBER IS
    BEGIN
    /* Release the paper by sending the release escape code to the printer */
         RETURN PRINT_TEXT(p_printer_id, c_release_code);
    END;
    -----END OF FUNCTION IMPLEMENTATIONS-----
    BEGIN
    * Load the EPSON printer driver's StatusAPI library.
    * Create an ORA_FFI interface to the library by doing the following for each desired function:
    *          1- Create a handle on the function,
    *          2- Register the return value,
    *          3- Register the arguments/parameters in the correct order.
    lh_EpsStmApi := ora_ffi.load_library('', 'EpsStmApi.DLL');
    IF Ora_Ffi.Is_Null_Ptr(lh_EpsStmApi) THEN
         AFC_MESSAGES('I','MAIN-0020','E',v_msg_b);
         v_EPSON_LIBRARY_OK := FALSE;
    ELSE
    fh_BiOpenMonPrinter := ora_ffi.register_function(lh_EpsStmApi, 'BiOpenMonPrinter', ora_ffi.c_std);
    ora_ffi.register_return(fh_BiOpenMonPrinter, ora_ffi.c_int, ora_ffi.pls_pls_integer);
    ora_ffi.register_parameter(fh_BiOpenMonPrinter, ora_ffi.c_int, ora_ffi.pls_pls_integer);
    ora_ffi.register_parameter(fh_BiOpenMonPrinter, ora_ffi.c_char_ptr, ora_ffi.pls_varchar2);
    fh_BiCloseMonPrinter := ora_ffi.register_function(lh_EpsStmApi, 'BiCloseMonPrinter', ora_ffi.c_std);
    ora_ffi.register_return(fh_BiCloseMonPrinter, ora_ffi.c_int, ora_ffi.pls_pls_integer);
    ora_ffi.register_parameter(fh_BiCloseMonPrinter, ora_ffi.c_int, ora_ffi.pls_pls_integer);
    fh_BiGetStatus := ora_ffi.register_function(lh_EpsStmApi, 'BiGetStatus', ora_ffi.c_std);
    ora_ffi.register_return(fh_BiGetStatus, ora_ffi.c_int, ora_ffi.pls_pls_integer);
    ora_ffi.register_parameter(fh_BiGetStatus, ora_ffi.c_int, ora_ffi.pls_pls_integer);
    ora_ffi.register_parameter(fh_BiGetStatus, ora_ffi.c_long_ptr, ora_ffi.pls_pls_integer);
    fh_BiDirectIO := ora_ffi.register_function(lh_EpsStmApi, 'BiDirectIO', ora_ffi.c_std);
    ora_ffi.register_return(fh_BiDirectIO, ora_ffi.c_int, ora_ffi.pls_pls_integer);
    ora_ffi.register_parameter(fh_BiDirectIO, ora_ffi.c_int, ora_ffi.pls_pls_integer);
    ora_ffi.register_parameter(fh_BiDirectIO, ora_ffi.c_short, ora_ffi.pls_pls_integer);
    ora_ffi.register_parameter(fh_BiDirectIO, ora_ffi.c_char_ptr, ora_ffi.pls_varchar2);
    ora_ffi.register_parameter(fh_BiDirectIO, ora_ffi.c_short_ptr, ora_ffi.pls_pls_integer);
    ora_ffi.register_parameter(fh_BiDirectIO, ora_ffi.c_char_ptr, ora_ffi.pls_varchar2);
    ora_ffi.register_parameter(fh_BiDirectIO, ora_ffi.c_long, ora_ffi.pls_pls_integer);
    ora_ffi.register_parameter(fh_BiDirectIO, ora_ffi.c_short, ora_ffi.pls_pls_integer);
    fh_BiDirectIOEx := ora_ffi.register_function(lh_EpsStmApi, 'BiDirectIOEx', ora_ffi.c_std);
    ora_ffi.register_return(fh_BiDirectIOEx, ora_ffi.c_int, ora_ffi.pls_pls_integer);
    ora_ffi.register_parameter(fh_BiDirectIOEx, ora_ffi.c_int, ora_ffi.pls_pls_integer);
    ora_ffi.register_parameter(fh_BiDirectIOEx, ora_ffi.c_long, ora_ffi.pls_pls_integer);
    ora_ffi.register_parameter(fh_BiDirectIOEx, ora_ffi.c_char_ptr, ora_ffi.pls_varchar2);
    ora_ffi.register_parameter(fh_BiDirectIOEx, ora_ffi.c_long_ptr, ora_ffi.pls_pls_integer);
    ora_ffi.register_parameter(fh_BiDirectIOEx, ora_ffi.c_char_ptr, ora_ffi.pls_varchar2);
    ora_ffi.register_parameter(fh_BiDirectIOEx, ora_ffi.c_long, ora_ffi.pls_pls_integer);
    ora_ffi.register_parameter(fh_BiDirectIOEx, ora_ffi.c_short, ora_ffi.pls_pls_integer);
    ora_ffi.register_parameter(fh_BiDirectIOEx, ora_ffi.c_short, ora_ffi.pls_pls_integer);
    v_EPSON_LIBRARY_OK := TRUE;
    END IF;
    EXCEPTION
         WHEN OTHERS THEN
              AFC_MESSAGES('I','MAIN-0021','E',v_msg_b);
              v_EPSON_LIBRARY_OK := FALSE;
    END;

    Hi Duncan,
    Thanks for the response. Beyond the problem you pointed out I found that the "open server" command is requiring a window handle parameter, even though it isn't used by the program. I talked with Oracle Support and it turns out that even if the window handle isn't used, it's existence makes it not work with the current version of webutil.
    The program I am working with also has a COM interface, so I decided to back up and redo the interface using webutil OLE2. I've got it working now, just a little more polishing to do.
    Thanks again for the help.
    Mark

  • Oracle.forms.webutil.cApi.CApiFunctions bean not found.WEBUTIL_C_API.REBIND

    Hi,
    I have installed oracle application server 10g on server .Configured webutil in server. Am using Mac OS X as client machine.But i got error
    " oracle.forms.webutil.cApi.CApiFunctions bean not found.WEBUTIL_C_API.REBIND_PARAMETER will not work "
    Can you please assist in correcting this error...
    Urgent PLS...
    Thanks.

    Is the webutil.olb file accesible to the Form when you try to compile ?.

  • Webutil_c_api with user32.dll (ShowWindow method) crashes

    Hello,
    I am trying to hide a window by using the method ShowWindow of user32.dll.
    So I use the package webutil_c_api.
    It works, my window becomes hidden, but just after that, the Forms applet crashes with Internet Explorer.
    Here is the code :
    declare
         v_args webutil_c_api.ParameterList;
         v_param webutil_c_api.ParameterHandle;
         v_res pls_integer;
    begin
      v_args := webutil_c_api.create_parameter_list;
      v_param := webutil_c_api.add_parameter(v_args, webutil_c_api.C_LONG, webutil_c_api.PARAM_IN, 66152);
      v_param := webutil_c_api.add_parameter(v_args, webutil_c_api.C_INT, webutil_c_api.PARAM_IN, 0);
      v_res := webutil_c_api.invoke_long('user32.dll', 'ShowWindow', v_args);
      MESSAGE('ShowWindow -> ' || v_res);
    EXCEPTION
         WHEN OTHERS THEN
           message('Error code: '||to_char(sqlcode)||'  Txt: '||sqlerrm);
           PAUSE;
           raise form_trigger_failure;
    end;Notice : I had to hardcode the Window Handler 66152 because I'm not able to find it (there is another problem).
    Do you have some hints?
    Thanks,
    Nicolas.

    When it crashes, it produces a file that is placed on my desktop :
    An unexpected exception has been detected in native code outside the VM.
    Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x2
    Function name=(N/A)
    Library=(N/A)
    NOTE: We are unable to locate the function name symbol for the error
          just occurred. Please refer to release documentation for possible
          reason and solutions.
    Current Java thread:
         at oracle.forms.webutil.cApi.CFunc.callInt(Native Method)
         at oracle.forms.webutil.cApi.CApiFunctions.invokeCApi(CApiFunctions.java:837)
         at oracle.forms.webutil.cApi.CApiFunctions.getProperty(CApiFunctions.java:144)
         at oracle.forms.handler.UICommon.onGet(Unknown Source)
         at oracle.forms.engine.Runform.onGetHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.processEventEnd(Unknown Source)
         at oracle.ewt.lwAWT.LWComponent.redispatchEvent(Unknown Source)
         at oracle.ewt.lwAWT.LWComponent.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Window.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
    Dynamic libraries:
    0x00400000 - 0x00419000      C:\Program Files\Internet Explorer\IEXPLORE.EXE
    0x77F50000 - 0x77FF7000      C:\WINNT\System32\ntdll.dll
    0x77E60000 - 0x77F46000      C:\WINNT\system32\kernel32.dll
    0x77C10000 - 0x77C63000      C:\WINNT\system32\msvcrt.dll
    0x77D40000 - 0x77DCC000      C:\WINNT\system32\USER32.dll
    0x77C70000 - 0x77CB0000      C:\WINNT\system32\GDI32.dll
    0x77DD0000 - 0x77E5D000      C:\WINNT\system32\ADVAPI32.dll
    0x78000000 - 0x78086000      C:\WINNT\system32\RPCRT4.dll
    0x70A70000 - 0x70AD5000      C:\WINNT\system32\SHLWAPI.dll
    0x71700000 - 0x71849000      C:\WINNT\System32\SHDOCVW.dll
    0x71950000 - 0x71A34000      C:\WINNT\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.10.0_x-ww_f7fb5805\comctl32.dll
    0x773D0000 - 0x77BC2000      C:\WINNT\system32\SHELL32.dll
    0x77340000 - 0x773CB000      C:\WINNT\system32\comctl32.dll
    0x771B0000 - 0x772D1000      C:\WINNT\system32\ole32.dll
    0x74720000 - 0x74764000      C:\WINNT\System32\MSCTF.dll
    0x71500000 - 0x715FD000      C:\WINNT\System32\BROWSEUI.dll
    0x72430000 - 0x72442000      C:\WINNT\System32\browselc.dll
    0x75F40000 - 0x75F5F000      C:\WINNT\system32\appHelp.dll
    0x76FD0000 - 0x77048000      C:\WINNT\System32\CLBCATQ.DLL
    0x77120000 - 0x771AB000      C:\WINNT\system32\OLEAUT32.dll
    0x77050000 - 0x77115000      C:\WINNT\System32\COMRes.dll
    0x77C00000 - 0x77C07000      C:\WINNT\system32\VERSION.dll
    0x76670000 - 0x76757000      C:\WINNT\System32\SETUPAPI.dll
    0x5AD70000 - 0x5ADA4000      C:\WINNT\System32\UxTheme.dll
    0x63000000 - 0x63096000      C:\WINNT\system32\WININET.dll
    0x762C0000 - 0x76348000      C:\WINNT\system32\CRYPT32.dll
    0x762A0000 - 0x762B0000      C:\WINNT\system32\MSASN1.dll
    0x76F90000 - 0x76FA0000      C:\WINNT\System32\Secur32.dll
    0x10000000 - 0x1012D000      c:\program files\google\googletoolbar1.dll
    0x1A400000 - 0x1A47A000      C:\WINNT\system32\urlmon.dll
    0x71AD0000 - 0x71AD8000      C:\WINNT\System32\WSOCK32.dll
    0x71AB0000 - 0x71AC5000      C:\WINNT\System32\WS2_32.dll
    0x71AA0000 - 0x71AA8000      C:\WINNT\System32\WS2HELP.dll
    0x76C30000 - 0x76C5B000      C:\WINNT\System32\WINTRUST.dll
    0x76C90000 - 0x76CB2000      C:\WINNT\system32\IMAGEHLP.dll
    0x76B40000 - 0x76B6C000      C:\WINNT\System32\WINMM.dll
    0x76380000 - 0x76385000      C:\WINNT\System32\MSIMG32.dll
    0x6D510000 - 0x6D58D000      C:\WINNT\System32\DBGHELP.DLL
    0x71C20000 - 0x71C6E000      C:\WINNT\System32\netapi32.dll
    0x71B20000 - 0x71B31000      C:\WINNT\system32\MPR.dll
    0x75F60000 - 0x75F66000      C:\WINNT\System32\drprov.dll
    0x71C10000 - 0x71C1D000      C:\WINNT\System32\ntlanman.dll
    0x71CD0000 - 0x71CE6000      C:\WINNT\System32\NETUI0.dll
    0x71C90000 - 0x71CCC000      C:\WINNT\System32\NETUI1.dll
    0x71C80000 - 0x71C86000      C:\WINNT\System32\NETRAP.dll
    0x71BF0000 - 0x71C01000      C:\WINNT\System32\SAMLIB.dll
    0x76EE0000 - 0x76F17000      C:\WINNT\System32\RASAPI32.DLL
    0x76E90000 - 0x76EA1000      C:\WINNT\System32\rasman.dll
    0x76EB0000 - 0x76EDB000      C:\WINNT\System32\TAPI32.dll
    0x76E80000 - 0x76E8D000      C:\WINNT\System32\rtutils.dll
    0x75F70000 - 0x75F79000      C:\WINNT\System32\davclnt.dll
    0x722B0000 - 0x722B5000      C:\WINNT\System32\sensapi.dll
    0x75A70000 - 0x75B15000      C:\WINNT\system32\USERENV.dll
    0x76990000 - 0x769B4000      C:\WINNT\System32\ntshrui.dll
    0x76B20000 - 0x76B35000      C:\WINNT\System32\ATL.DLL
    0x76170000 - 0x761F8000      C:\WINNT\System32\shdoclc.dll
    0x74770000 - 0x747FF000      C:\WINNT\System32\mlang.dll
    0x63580000 - 0x63830000      C:\WINNT\System32\mshtml.dll
    0x75E90000 - 0x75F37000      C:\WINNT\System32\SXS.DLL
    0x6B700000 - 0x6B790000      C:\WINNT\System32\jscript.dll
    0x746F0000 - 0x74716000      C:\WINNT\System32\msimtf.dll
    0x746C0000 - 0x746E7000      C:\WINNT\System32\MSLS31.DLL
    0x76390000 - 0x763AC000      C:\WINNT\System32\IMM32.DLL
    0x76620000 - 0x7666E000      C:\WINNT\System32\cscui.dll
    0x76600000 - 0x7661B000      C:\WINNT\System32\CSCDLL.dll
    0x325C0000 - 0x325D2000      C:\Program Files\Office2003\OFFICE11\msohev.dll
    0x71A50000 - 0x71A8B000      C:\WINNT\system32\mswsock.dll
    0x71A90000 - 0x71A98000      C:\WINNT\System32\wshtcpip.dll
    0x76F20000 - 0x76F45000      C:\WINNT\System32\DNSAPI.dll
    0x76FB0000 - 0x76FB7000      C:\WINNT\System32\winrnr.dll
    0x76F60000 - 0x76F8C000      C:\WINNT\system32\WLDAP32.dll
    0x02C70000 - 0x02C83000      C:\Program Files\Labtec\Labtec Mouse Software\2.0\MOUDL32A.DLL
    0x76FC0000 - 0x76FC5000      C:\WINNT\System32\rasadhlp.dll
    0x6D350000 - 0x6D35D000      C:\Program Files\Oracle\JInitiator 1.3.1.18\bin\npjinit13118.dll
    0x6D130000 - 0x6D15B000      C:\Program Files\Oracle\JInitiator 1.3.1.18\bin\beans.ocx
    0x6D300000 - 0x6D316000      C:\Program Files\Oracle\JInitiator 1.3.1.18\bin\jpishare.dll
    0x6D3F0000 - 0x6D4C7000      C:\PROGRA~1\Oracle\JINITI~1.18\bin\hotspot\jvm.dll
    0x6D220000 - 0x6D227000      C:\PROGRA~1\Oracle\JINITI~1.18\bin\hpi.dll
    0x6D380000 - 0x6D38D000      C:\PROGRA~1\Oracle\JINITI~1.18\bin\verify.dll
    0x6D250000 - 0x6D268000      C:\PROGRA~1\Oracle\JINITI~1.18\bin\java.dll
    0x6D390000 - 0x6D39D000      C:\PROGRA~1\Oracle\JINITI~1.18\bin\zip.dll
    0x6D020000 - 0x6D12B000      C:\Program Files\Oracle\JInitiator 1.3.1.18\bin\awt.dll
    0x73000000 - 0x73023000      C:\WINNT\System32\WINSPOOL.DRV
    0x6D1E0000 - 0x6D21C000      C:\Program Files\Oracle\JInitiator 1.3.1.18\bin\fontmanager.dll
    0x5ED00000 - 0x5EDC6000      C:\WINNT\System32\OPENGL32.dll
    0x68B20000 - 0x68B3E000      C:\WINNT\System32\GLU32.dll
    0x73760000 - 0x737A4000      C:\WINNT\System32\DDRAW.dll
    0x73BC0000 - 0x73BC6000      C:\WINNT\System32\DCIMAN32.dll
    0x0DD70000 - 0x0DFA2000      C:\WINNT\System32\ialmgicd.dll
    0x0DFB0000 - 0x0E02B000      C:\WINNT\System32\ialmgdev.dll
    0x6D340000 - 0x6D348000      C:\Program Files\Oracle\JInitiator 1.3.1.18\bin\net.dll
    0x0FFA0000 - 0x0FFC1000      C:\WINNT\System32\dssenh.dll
    0x6D370000 - 0x6D37A000      C:\Program Files\Oracle\JInitiator 1.3.1.18\bin\packager.dll
    0x0E860000 - 0x0E870000      C:\Program Files\Oracle\JInitiator 1.3.1.18\bin\JNIsharedstubs.dll
    0x76BF0000 - 0x76BFB000      C:\WINNT\System32\PSAPI.DLL
    Local Time = Tue Aug 29 08:53:29 2006
    Elapsed Time = 4
    # The exception above was detected in native code outside the VM
    # Java VM: Java HotSpot(TM) Client VM (1.3.1_04-b02 mixed mode)
    #

  • WEBUTIL_C_API: Writing wrapper DLL's to address calling convention issues

    I am interested in calling the Windows API using WEBUTIL_C_API. In particularly, I am interested in calling FindWindow to obtain window handles. I registered the function as required, but have yet to get a meaningful result. Upon researching Metalink a bit, I encountered a post stating that FindWindow uses Pascal calling conventions, while WEBUTIL_C_API expects C calling conventions. The suggested solution is to wrap the API call in my own DLL, which adapts between the two calling conventions.
    I'm fairly adept at writing standard C code, albeit out of practice, and with a bit of Googling, I have even managed to compile a DLL using GNU gcc. Alas, I evidently don't understand all the compiler directives required to write the wrapper DLL that I have described. Has anyone else managed a similar task, who might share an example or direct me to some helpful documentation?
    Thanks,
    Eric Adamson
    Lansing, Michigan

    Mr. Ronald,
    Thank you for your assistance. After going through the webutil log file and the WebUtil Familiarization Manual a few more times, and lastly, metalink, it was stated in a metalink post that the "Cause for the Error WUC-20 can be that the webutil.cfg file has an invalid virtual directory: install.syslib.location".
    According the WebUtil Familiarization Manual (p.11 of 49), install.syslib.location=/webutil. I did just that, and the log file indicated that
    xxx.xxx.xxx.xxx:xxxxxxx: 2004-Jan-22 11:32:53.746 WUI[setProperty()] Setting property WUC_GET_LOCAL_PROPERTY to syslib.ffisamp.dll
    xxx.xxx.xxx.xxx:xxxxxxx: 2004-Jan-22 11:32:53.761 WUI[getProperty()] Getting property WUC_GET_LOCAL_PROPERTY
    xxx.xxx.xxx.xxx:xxxxxxx: 2004-Jan-22 11:32:53.761 WUI[loadSettings()] No local properties file to load
    xxx.xxx.xxx.xxx:xxxxxxx: 2004-Jan-22 11:32:53.761 WUI[getProperty()] Value of WUC_GET_LOCAL_PROPERTY=null
    xxx.xxx.xxx.xxx:xxxxxxx: 2004-Jan-22 11:32:53.777 WUI[setProperty()] Setting property WUC_URL_DOWNLOAD to 1|40960|Y|/webutil/ffisamp.dll|ffisamp.dll|WebUtil Install|Downloading required libraries; Please wait...|ffisamp.dll
    xxx.xxx.xxx.xxx:xxxxxxx: 2004-Jan-22 11:32:53.777 WUI[getProperty()] Getting property WUC_URL_DOWNLOAD
    xxx.xxx.xxx.xxx:xxxxxxx: 2004-Jan-22 11:32:53.777 WUI[downloadFromURL()] Source is http://<machine_name:port>/forms90/f90servlet/webutil/ffisamp.dll
    So I tried the absolute URL, http://<machine_name:port>/forms90/webutil, Voila! It worked. The point is somehow, the download url should not include .../f90servlet/...; just plain /forms90/webutil.
    Thank you for your time and assistance.
    Regards,
    thomas

  • WEBUTIL_C_API.REBIND_PARAMETER not working

    Dear All,
    I am using 11g forms Version 11.1.1.2.0, and facing the problem
    oracle.forms.webutil.cApi.CApiFunctions bean not found.
    WEBUTIL_C_API.REBIND_PARAMETER will not work
    when i acknowldege OK butten then follwoing alert is populate
    Internal Error: PL/SQL error occurred.
    can any one help me out to resolve the problem.
    Thanx in advance.
    Sohail

    Hi.
    Take a look at: http://www.orafaq.com/forum/t/74615/2/
    and
    oracle.forms.webutil.CApiFunctions bean not found.

  • Webutil form compilation error

    Hi all
    I configured webutil on Application server 10g on linux. but when i compile the demo form on application server using
    /u01/app/oracle/OraHome_2/bin/frmcmp.sh module=$ORACLE_HOME/forms/WU_TEST_106.fmb userid=webutil/webutil@orant module_type=form compile_all=yes OUTPUT_FILE=$ORACLE_HOME/forms/WU_TEST_106.fmx
    it give me the errors
    FRM-18108: Failed to load the following objects.
    Source Module:webutil.olb
    Source Object: WEBUTIL
    Compiling procedure GET_CLIENTINFO...
    Compilation error on procedure GET_CLIENTINFO:
    PL/SQL ERROR 201 at line 3, column 35
    identifier 'WEBUTIL_CLIENTINFO.GET_USER_NAME' must be declared
    PL/SQL ERROR 0 at line 3, column 3
    Statement ignored
    PL/SQL ERROR 201 at line 4, column 35
    identifier 'WEBUTIL_CLIENTINFO.GET_IP_ADDRESS' must be declared
    PL/SQL ERROR 0 at line 4, column 3
    Statement ignored
    Compilation errors have occurred.
    Form not created
    ==========================================
    i search a lot but failed ..
    any solution regarding this plz thanks in advance.

    [oracle@appserver ~]$ /u01/app/oracle/OraHome_2/bin/frmcmp_batch.sh module=$ORACLE_HOME/forms/webutil.pll userid=webutil/webutil@orant module_type=library compile_all=yes OUTPUT_FILE=$ORACLE_HOME/forms/webutil.plx
    Forms 10.1 (Form Compiler) Version 10.1.2.0.2 (Production)
    Forms 10.1 (Form Compiler): Release - Production
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    PL/SQL Version 10.1.0.4.2 (Production)
    Oracle Procedure Builder V10.1.2.0.2 - Production
    Oracle Virtual Graphics System Version 10.1.2.0.0 (Production)
    Oracle Multimedia Version 10.1.2.0.2 (Production)
    Oracle Tools Integration Version 10.1.2.0.2 (Production)
    Oracle Tools Common Area Version 10.1.2.0.2
    Oracle CORE 10.1.0.4.0 Production
    Compiling library WEBUTIL...
    Invalidating Package Spec CLIENT_IMAGE......
    Invalidating Package Spec CLIENT_OLE2......
    Invalidating Package Spec CLIENT_TEXT_IO......
    Invalidating Package Spec CLIENT_TOOL_ENV......
    Invalidating Package Spec CLIENT_WIN_API_DEBUG......
    Invalidating Package Spec CLIENT_WIN_API......
    Invalidating Package Spec CLIENT_WIN_API_ENVIRONMENT......
    Invalidating Package Spec CLIENT_WIN_API_PRELOAD......
    Invalidating Package Spec JAVA_EXCEPTION......
    Invalidating Package Spec WEBUTIL_BROWSER......
    Invalidating Package Spec WEBUTIL_CLIENTINFO......
    Invalidating Package Spec WEBUTIL_C_API......
    Invalidating Package Spec JAVA_SYSTEM......
    Invalidating Package Spec JAVA_APPSERV_READER......
    Invalidating Package Spec DELIMSTR......
    Invalidating Package Spec WEBUTIL_FILE......
    Invalidating Package Spec JAVA_APPSERV_WRITER......
    Invalidating Package Spec WEBUTIL_DB_LOCAL......
    Invalidating Package Spec JAVA_FILE......
    Invalidating Package Spec WEBUTIL_FILE_TRANSFER......
    Invalidating Package Spec WEBUTIL_HOST......
    Invalidating Package Spec WEBUTIL_SEPARATEFRAME......
    Invalidating Package Spec WEBUTIL_CORE......
    Invalidating Package Spec WEBUTIL_SESSION......
    Invalidating Package Spec WEBUTIL_UTIL......
    Invalidating Package Body WEBUTIL_UTIL......
    Invalidating Package Body WEBUTIL_SESSION......
    Invalidating Package Body WEBUTIL_SEPARATEFRAME......
    Invalidating Package Body WEBUTIL_HOST......
    Invalidating Package Body WEBUTIL_FILE_TRANSFER......
    Invalidating Package Body WEBUTIL_FILE......
    Invalidating Package Body WEBUTIL_DB_LOCAL......
    Invalidating Package Body WEBUTIL_C_API......
    Invalidating Package Body WEBUTIL_CORE......
    Invalidating Package Body WEBUTIL_CLIENTINFO......
    Invalidating Package Body WEBUTIL_BROWSER......
    Invalidating Procedure Body SHOW_WEBUTIL_INFORMATION......
    Invalidating Package Body JAVA_SYSTEM......
    Invalidating Package Body JAVA_FILE......
    Invalidating Package Body JAVA_EXCEPTION......
    Invalidating Package Body JAVA_APPSERV_WRITER......
    Invalidating Package Body JAVA_APPSERV_READER......
    Invalidating Package Body DELIMSTR......
    Invalidating Package Body CLIENT_WIN_API_PRELOAD......
    Invalidating Package Body CLIENT_WIN_API_ENVIRONMENT......
    Invalidating Package Body CLIENT_WIN_API_DEBUG......
    Invalidating Package Body CLIENT_WIN_API......
    Invalidating Package Body CLIENT_TOOL_ENV......
    Invalidating Package Body CLIENT_TEXT_IO......
    Invalidating Package Body CLIENT_OLE2......
    Invalidating Package Body CLIENT_IMAGE......
    Invalidating Procedure Body CLIENT_HOST......
    Invalidating Function Body CLIENT_GET_FILE_NAME......
    Compiling Package Spec CLIENT_IMAGE......
    Compiling Package Spec CLIENT_OLE2......
    Compiling Package Spec CLIENT_TEXT_IO......
    Compiling Package Spec CLIENT_TOOL_ENV......
    Compiling Package Spec CLIENT_WIN_API_DEBUG......
    Compiling Package Spec CLIENT_WIN_API......
    Compiling Package Spec CLIENT_WIN_API_ENVIRONMENT......
    Compiling Package Spec CLIENT_WIN_API_PRELOAD......
    Compiling Package Spec JAVA_EXCEPTION......
    Compiling Package Spec WEBUTIL_BROWSER......
    Compiling Package Spec WEBUTIL_CLIENTINFO......
    Compiling Package Spec JAVA_SYSTEM......
    Compiling Package Spec JAVA_APPSERV_READER......
    Compiling Package Spec DELIMSTR......
    Compiling Package Spec WEBUTIL_FILE......
    Compiling Package Spec JAVA_APPSERV_WRITER......
    Compiling Package Spec WEBUTIL_DB_LOCAL......
    Compiling Package Spec JAVA_FILE......
    Compiling Package Spec WEBUTIL_FILE_TRANSFER......
    Compiling Package Spec WEBUTIL_HOST......
    Compiling Package Spec WEBUTIL_SEPARATEFRAME......
    Compiling Package Spec WEBUTIL_CORE......
    Compiling Package Spec WEBUTIL_SESSION......
    Compiling Package Spec WEBUTIL_UTIL......
    Compiling Package Body WEBUTIL_UTIL......
    Compiling Package Body WEBUTIL_SESSION......
    Compiling Package Body WEBUTIL_SEPARATEFRAME......
    Compiling Package Body WEBUTIL_HOST......
    Compiling Package Body WEBUTIL_FILE_TRANSFER......
    Compiling Package Body WEBUTIL_FILE......
    Compiling Package Body WEBUTIL_DB_LOCAL......
    Compiling Package Body WEBUTIL_C_API......
    Compiling Package Body WEBUTIL_CORE......
    Compiling Package Body WEBUTIL_CLIENTINFO......
    Compiling Package Body WEBUTIL_BROWSER......
    Compiling Procedure Body SHOW_WEBUTIL_INFORMATION......
    Compiling Package Body JAVA_SYSTEM......
    Compiling Package Body JAVA_FILE......
    Compiling Package Body JAVA_EXCEPTION......
    Compiling Package Body JAVA_APPSERV_WRITER......
    Compiling Package Body JAVA_APPSERV_READER......
    Compiling Package Body DELIMSTR......
    Compiling Package Body CLIENT_WIN_API_PRELOAD......
    Compiling Package Body CLIENT_WIN_API_ENVIRONMENT......
    Compiling Package Body CLIENT_WIN_API_DEBUG......
    Compiling Package Body CLIENT_WIN_API......
    Compiling Package Body CLIENT_TOOL_ENV......
    Compiling Package Body CLIENT_TEXT_IO......
    Compiling Package Body CLIENT_OLE2......
    Compiling Package Body CLIENT_IMAGE......
    Compiling Procedure Body CLIENT_HOST......
    Compiling Function Body CLIENT_GET_FILE_NAME......
    Done.
    [oracle@appserver ~]$
    here is the code how i compile webutil.. its done sucessfully.

  • ERROR WUL-928

    Hi Everyone,
    OS-->WinXP Professional
    Forms-->Forms 10g Release2
    OAS-->Windows Server 2003 EE
    Architecture-->3-Tier
    When i run my application in 3-Tier architecture its working, but as calling to the .dll file using webutil_c_api, not loading the specified .dll file which is already downloaded.The problem is when i tested from my system its calling that file & could able to do the operation. When i tested from other system all .dll files are downloaded, but could not able to load the .dll file after running the application.
    As i gone through the link below
    Read / Write registry using webutil
    And when i ran my application i got below information after pressing
    "SHOW CONSOLE"
    Oracle JInitiator: Version 1.3.1.22
    Using JRE version 1.3.1.22-internal Java HotSpot(TM) Client VM
    User home directory = C:\Documents and Settings\anil_mk
    c: clear console window
    f: finalize objects on finalization queue
    g: garbage collect
    h: display this help message
    l: dump classloader list
    m: print memory usage
    q: hide console
    s: dump system properties
    t: dump thread list
    x: clear classloader cache
    0-5: set trace level to <n>
    2007-Aug-03 15:18:59.708 ERROR>WUL-928 [CApiFunctions.register_function()] Library file.dll not accessible, or does not contain function funname
    2007-Aug-03 15:18:59.740 ERROR>WUL-928 [CApiFunctions.set_invokeoncespec()] Library file.dll not accessible, or does not contain function funname
    2007-Aug-03 15:18:59.740 ERROR>WUL-910 [CApiFunctions.invokeCApi()] Invoking the function failed: java.lang.NullPointerException
    2007-Aug-03 15:19:00.766 ERROR>WUL-904 [CApiFunctions.setHandle()] Supplied handle was not numeric
    As compared to above with console in Read / Write registry using webutil
    The webutil functions were displaying as shown below
    (From Read / Write registry using webutil
    2004-Oct-13 10:29:45.515 WUT[VBeanCommon.getIPAddress()] 10.131.145.228
    But in my Console not displayed.
    I Tested with another function also from application to open the file, CLIENT_GET_FILE_NAME which is opening the file from other system also from which i ran the application.Atlast it should have displayed in (show console) console as above e.g.2004-Oct-13 10:29:45.515
    WUT[CLIENT_GET_FILE_NAME()] C:\Test.txt
    Why is it So?
    And also its giving the error ORA-12571, to resolve this error, after going through forum in some thread the solution was to change SQLNET.AUTHENTICATION_SERVICES= (NTS) to SQLNET.AUTHENTICATION_SERVICES= (NONE)in SQLNET.ORA, I changed in Application Server & Tested, got the same error.
    Please if anyone know, give me your suggestions.
    Thanks & Regards,
    AnilMK

    Hi Everyone,
    My probles is been solved and for solution of my problem i gone through http://www.orafaq.com/forum/mv/msg/38297/0/0/0/
    But another new problem is when we call webutil functions, the functions should be called from Oracle forms any triggers of items present in that form except WHEN-NEW-FORM-INSTANCE and PRE-FORM which I read in some Post of same forum. Here I am unable to call from WHEN-WINDOW-ACTIVATED Trigger.
    As i tested Locally using same form(The form has a trigger WHEN-WINDOW-ACTIVATED which is calling WEBUTIL_C_API functions), the form is able to call webutil functions from WHEN-WINDOW-ACTIVATED trigger.
    But when same form which calls the same webutil function by connecting to Application server, raising an error
    oracle.forms.webutil.file.FileFunctions bean not found.
    WEBUTIL_FILE.FILE_SELECTION_DIALOGUE_INT will not work
    Please suggest me, if u have any idea.
    Thanks & Regards,
    Anil MK

  • Error FRM:30312 when compiling webutil.pll

    Error FRM:30312 when compiling webutil.pll
    I download the webutil_1_6.zip, and implementing the configuration instructions arrived to the point that states to compile the webtutil.pll file, the compiler generates the error: FRM-30312: Failed to compile the library. Any idea.
    The environment:
    OAS: 9.0.4
    OS: UNIX TRU 64 ver 1.5.b
    Considerations:
    I execute the create_webutil_db.sql in the required database.
    Other pll and fmb files of my application compile without problems.
    I configure the Webutil 1.6 in a Windows 2000 machine with Developer Suite 9.0.4 without problems.

    Michael I follow your recommendations, make the compilation in the local machine, and change the command line, but the error still appear:
    I execute the following command line:
    f90genm.sh module=webutil.pll userid=comun/comun@chirripo
    module_type=library compile_all=yes
    It generate this:
    Forms 9.0 (Form Compiler) Version 9.0.4.1.0 (Production)
    Forms 9.0 (Form Compiler): Release - Production
    (c) Copyright 2001 Oracle Corporation. All rights reserved.
    Oracle9i Enterprise Edition Release 9.0.1.4.0 - Production
    With the Partitioning option
    JServer Release 9.0.1.4.0 - Production
    PL/SQL Version 9.0.1.5.0 (Production)
    Oracle Procedure Builder V9.0.3.5.0 Build #0 - Production
    Oracle Virtual Graphics System Version 9.0.1.11.0 (Production)
    Oracle Multimedia Version 9.0.4.1.0 (Production)
    Oracle Tools Integration Version 9.0.4.0.0 (Production)
    Oracle Tools Common Area Version 9.0.2.12.0
    Oracle CORE 9.0.1.2.0 Production
    Compiling library WEBUTIL...
    Invalidating Package Spec WEBUTIL_UTIL......
    Invalidating Package Spec WEBUTIL_SESSION......
    Invalidating Package Spec WEBUTIL_SEPARATEFRAME......
    Invalidating Package Spec WEBUTIL_HOST......
    Invalidating Package Spec WEBUTIL_FILE_TRANSFER......
    Invalidating Package Spec WEBUTIL_FILE......
    Invalidating Package Spec WEBUTIL_DB_LOCAL......
    Invalidating Package Spec WEBUTIL_C_API......
    Invalidating Package Spec WEBUTIL_CORE......
    Invalidating Package Spec WEBUTIL_CLIENTINFO......
    Invalidating Package Spec WEBUTIL_BROWSER......
    Invalidating Package Spec JAVA_SYSTEM......
    Invalidating Package Spec JAVA_FILE......
    Invalidating Package Spec JAVA_EXCEPTION......
    Invalidating Package Spec JAVA_APPSERV_WRITER......
    Invalidating Package Spec JAVA_APPSERV_READER......
    Invalidating Package Spec DELIMSTR......
    Invalidating Package Spec CLIENT_WIN_API_PRELOAD......
    Invalidating Package Spec CLIENT_WIN_API_ENVIRONMENT......
    Invalidating Package Spec CLIENT_WIN_API_DEBUG......
    Invalidating Package Spec CLIENT_WIN_API......
    Invalidating Package Spec CLIENT_TOOL_ENV......
    Invalidating Package Spec CLIENT_TEXT_IO......
    Invalidating Package Spec CLIENT_OLE2......
    Invalidating Package Spec CLIENT_IMAGE......
    Invalidating Package Body WEBUTIL_UTIL......
    Invalidating Package Body WEBUTIL_SESSION......
    Invalidating Package Body WEBUTIL_SEPARATEFRAME......
    Invalidating Package Body WEBUTIL_HOST......
    Invalidating Package Body WEBUTIL_FILE_TRANSFER......
    Invalidating Package Body WEBUTIL_FILE......
    Invalidating Package Body WEBUTIL_DB_LOCAL......
    Invalidating Package Body WEBUTIL_C_API......
    Invalidating Package Body WEBUTIL_CORE......
    Invalidating Package Body WEBUTIL_CLIENTINFO......
    Invalidating Package Body WEBUTIL_BROWSER......
    Invalidating Procedure Body SHOW_WEBUTIL_INFORMATION......
    Invalidating Package Body JAVA_SYSTEM......
    Invalidating Package Body JAVA_FILE......
    Invalidating Package Body JAVA_EXCEPTION......
    Invalidating Package Body JAVA_APPSERV_WRITER......
    Invalidating Package Body JAVA_APPSERV_READER......
    Invalidating Package Body DELIMSTR......
    Invalidating Package Body CLIENT_WIN_API_PRELOAD......
    Invalidating Package Body CLIENT_WIN_API_ENVIRONMENT......
    Invalidating Package Body CLIENT_WIN_API_DEBUG......
    Invalidating Package Body CLIENT_WIN_API......
    Invalidating Package Body CLIENT_TOOL_ENV......
    Invalidating Package Body CLIENT_TEXT_IO......
    Invalidating Package Body CLIENT_OLE2......
    Invalidating Package Body CLIENT_IMAGE......
    Invalidating Procedure Body CLIENT_HOST......
    Invalidating Function Body CLIENT_GET_FILE_NAME......
    Compiling Package Spec WEBUTIL_UTIL......
    Compiling Package Spec WEBUTIL_SESSION......
    Compiling Package Spec WEBUTIL_SEPARATEFRAME......
    Compiling Package Spec WEBUTIL_HOST......
    Compiling Package Spec WEBUTIL_FILE_TRANSFER......
    Compiling Package Spec WEBUTIL_FILE......
    Compiling Package Spec WEBUTIL_DB_LOCAL......
    Compiling Package Spec WEBUTIL_C_API......
    Compiling Package Spec WEBUTIL_CORE......
    Compiling Package Spec WEBUTIL_CLIENTINFO......
    Compiling Package Spec WEBUTIL_BROWSER......
    Compiling Package Spec JAVA_SYSTEM......
    Compiling Package Spec JAVA_FILE......
    Compiling Package Spec JAVA_EXCEPTION......
    Compiling Package Spec JAVA_APPSERV_WRITER......
    Compiling Package Spec JAVA_APPSERV_READER......
    Compiling Package Spec DELIMSTR......
    Compiling Package Spec CLIENT_WIN_API_PRELOAD......
    Compiling Package Spec CLIENT_WIN_API_ENVIRONMENT......
    Compiling Package Spec CLIENT_WIN_API_DEBUG......
    Compiling Package Spec CLIENT_WIN_API......
    Compiling Package Spec CLIENT_TOOL_ENV......
    Compiling Package Spec CLIENT_TEXT_IO......
    Compiling Package Spec CLIENT_OLE2......
    Compiling Package Spec CLIENT_IMAGE......
    Compiling Package Body WEBUTIL_UTIL......
    Compiling Package Body WEBUTIL_SESSION......
    Compiling Package Body WEBUTIL_SEPARATEFRAME......
    Compiling Package Body WEBUTIL_HOST......
    Compiling Package Body WEBUTIL_FILE_TRANSFER......
    Compiling Package Body WEBUTIL_FILE......
    Compiling Package Body WEBUTIL_DB_LOCAL......
    Compiling Package Body WEBUTIL_C_API......
    Compiling Package Body WEBUTIL_CORE......
    Compiling Package Body WEBUTIL_CLIENTINFO......
    Compiling Package Body WEBUTIL_BROWSER......
    Compiling Procedure Body SHOW_WEBUTIL_INFORMATION......
    Compiling Package Body JAVA_SYSTEM......
    Compiling Package Body JAVA_FILE......
    Compiling Package Body JAVA_EXCEPTION......
    Compiling Package Body JAVA_APPSERV_WRITER......
    Compiling Package Body JAVA_APPSERV_READER......
    Compiling Package Body DELIMSTR......
    Compiling Package Body CLIENT_WIN_API_PRELOAD......
    Compiling Package Body CLIENT_WIN_API_ENVIRONMENT......
    Compiling Package Body CLIENT_WIN_API_DEBUG......
    Compiling Package Body CLIENT_WIN_API......
    Compiling Package Body CLIENT_TOOL_ENV......
    Compiling Package Body CLIENT_TEXT_IO......
    Compiling Package Body CLIENT_OLE2......
    Compiling Package Body CLIENT_IMAGE......
    Compiling Procedure Body CLIENT_HOST......
    Compiling Function Body CLIENT_GET_FILE_NAME......
    FRM-30312: Failed to compile the library.
    Thanks.

  • Error on running webutil_demo "oracle.forms.webutil.cApi.CApiFunc bean not"

    Dear all,
    Its now more then a week that i am fighting to configure webutil, i am trying it on two different PCs but on both no luck still,
    I have double checked all the configurations but not getting the result, I have run webutil_demo file and now getting following error, but i dont know that is it due to wrong cofiguration(but i have checked all files now several times) or due to some other reason, please if anybody can assist me.
    The error i am getting when i run webutil_demo file is.
    oracle.forms.webutil.cApi.CApiFunctions bean not found.
    WEBUTIL_C_API.REBING_PARAMETER will not work
    Developer: 10.1.2.3
    OS: XP
    King Regards
    Maz

    Those packages are owned by SYS, so if you are logged in as any other user you will not be able to see or access them. So log in as SYS and decide how you want to allow access to other users. You can either grant EXECUTE to public or a specific user or you can use a variety of other options. Oracle recommends, as an example, that you create a "webutil" user and grant permission to that user. This would be the user that gets the webutil sql script run against it and become the user that can run the webutil enabled forms (e.g. webuti_demo.fmx). Obviously, this is just an example and you can grant the permission and install the webutil tables where ever you'd like.
    Having said that, understand that the error you posted has nothing to do with these packages. Although they are needed for file upload/download functionality and in order to successfully compile webutil.pll (into webutil.plx) they play no role in the error you reported. Your current issue is the result of only one or more of the following (I will assume you are trying to run webutil_demo, which is a known working form):
    1. You have not included the webutil configuration as I originally mentioned
    2. You have not compiled the form (fmx) correctly. Refer to the following:
    http://www.oracle.com/webapps/online-help/forms/10g/topics/web_util/using.htm
    3. For whatever reason, frmwebutil.jar was not successfully downloaded. This can be determined by reviewing the java console on the client. It may be necessary to enable a trace level higher than the default in order to note the download occurring in the console.
    If you are not at all familiar with WebUtil or Forms, I recommend you read the documentation. If you do not become familiar with how this works, simply getting it working isn't going to be of much value, especially if you are actually attempting to create a real application for production use and not just teaching yourself something new.
    http://www.oracle.com/webapps/online-help/forms/10g/topics/web_util/install.htm

Maybe you are looking for