Register dll (delphi) forms 6i?

I have an application in developper 6i. A applicattion's proccess calls a function from dll (using ora_ffi), but when i try to run the process, it failed.
I don´t know if i need to register the dll in forms or something like that? the dll is localized on forms_path
I work with windows NT and XP?
have you any idea?

Hi Nilakshak,
In Visual Basic you could make ActiveX DLL and you could call it from Forms client/server using OLE2 package.
See: http://www.tigralen.spb.ru/download/vb_dll.zip, http://www.tigralen.spb.ru/oracle/vb/index.htm.
I think it helpful for you
Thanks
Bhujendra

Similar Messages

  • Swing Form = JNI = Delphi DLL = Delphi Form works but small issue

    Hi all
    I'm trying to call a delphi dll from a java form.
    This is the procedure
    swing button action => jni => call procedure in delphi dll => create delphi formThis works for me but the problem is when click the button it create the delphi form by calling the dll but it's stucked for ever(frame not the whole form). Never return to do something else. Means that it's stay remain in clicked postion.
    I do not know whether the problem exist with the swings' single threaded behavior. I have used another thread to call natives. But the problem persist.
    So can any one suggest any answer.
    Wish U all HAPPY NEW YEAR!
    Here is the compact code
    native calls
    public class LoadLib
        public native void createForm();
        public native void forward();
        static
            System.loadLibrary("testjni");
    }calling class
    import javax.swing.*;
    import java.awt.event.ActionEvent;
    import java.awt.Container;
    import java.awt.event.ActionListener;
    public class RUNClient extends JFrame {
         JFrame frame = new JFrame();
         JFrame frame2 = new JFrame();
         LoadLib lib = new LoadLib();
         JButton b1 = new JButton("OK");
         JButton b2 = new JButton("Forwad");
         private RUNClient() {
              frame.setLayout(null);
              frame.add(b1);
              frame.add(b2);
              b1.setBounds(110, 80, 80, 20);
              b2.setBounds(110, 50, 80, 20);
              b1.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent e) {
                        lib.createForm();     // create form in dll
                        // after this call frame is stucked
              b2.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent e) {
                        lib.forward();          // call another native to do some in created form
                        // this cannot be called because frame is stuck
              // other frame operation
         public static void main(String args[]) {
              new RUNClient();
    }delphi code
    library testjni;
    uses
      JNI,Unit1;
      var
      f : TForm1;
    procedure Java_LoadLib_createForm(PEnv: PJNIEnv; Obj: JObject); {$IFDEF WIN32} stdcall; {$ENDIF} {$IFDEF LINUX} cdecl; {$ENDIF}
    begin
    try
      f := TForm1.Create(nil);
      f.ShowModal;    
       finally
         f.Free;
         f.Release;
       end;
    end;
    procedure Java_LoadLib_forward(PEnv: PJNIEnv; Obj: JObject); {$IFDEF WIN32} stdcall; {$ENDIF} {$IFDEF LINUX} cdecl; {$ENDIF}
    begin
    Form1.Top := Form1.Top - 50;
    end;
    exports
      Java_LoadLib_createForm,
      Java_LoadLib_forward;
    begin
    end.

    Hi deshan,
    To realize the problem you should know principles of Java GUI (SWING or AWT) implementation in JVM:
    1) Java GUI is implemented in a single thread with EventQueue static object, which is created with JVM when Java Application GUI starts.
    2) Any painting or event calls are done on this thread (the same approach was used by Microsoft in .NET GUI).
    3) While your code handles an event EventQueue waits for return from your event method. Some calls to GUI components can stick the whole Java GUI (this is the problem of SUN Java architecture, I did not have this in Microsoft Java). To avoid this problem you should use InvokeLater method that works like PostMessage to the main thread in Windows Application. InvokeLater generate an event that is posted to EventQueue and your code passed to InvokeLater method will be executed asynchronously in GUI Thread.
    4) If you call any Java (SWING or AWT) component from the thread other than EventQueue thread you must synchronize these calls with locks by the object got from getTreeLock() method of the component you call. But you should be accurate with locks because they can cause deadlocks.
    Your code does not return from Click Event where you try to create some GUI component but EventQueue is still waiting for “return” and the main GUI thread is suspended.

  • How to register a custom form under "LEASE -- TOOLS"?

    Hi,
    This is my first form development in Oracle Apps.
    I have a requirement of building a custom form and to display it under LEASE -- > TOOLS.
    I could register the form under a menu by the following steps:
    1. Application Developer --> Forms : Enter the custom form name
    2. Register a new form function
    3. Attaching the form function under a menu
    How do I register this form under Lease--> Tools?
    Thanks and Regards
    Ruma

    Hi,
    I could register the form under a menu by the following steps:
    How do I register this form under Lease--> Tools?I believe you could follow the same steps but attach the form function to the submenu (instead of the menu itself).
    From the Application > Menu, query the main menu to get the submenu, then query the sub-menu and attach the form function.
    More details can be found in the "Developer Guide" which can be found at:
    Applications Releases 11i and 12
    http://www.oracle.com/technology/documentation/applications.html
    Regards,
    Hussein

  • How to call a function of registered DLL in Diadem8.10?

    Please make the entire procedure after registering DLL in Diadem8.1. Notably, i can't use LAbview. I need it in VBS file. Can you put a sample code example, as i already exhausted in searching the help.

    Hi mv_rajk,
    I have to agree with IS that I'm not completely sure what you want either. But I'd like to round out IS's excellent points with two more:
    4) VBScript can create object variables from an ActiveX object file (*.ocx) and call methods and read and write properties of the new object variable natively. So you can call a DLL from VBScript, but only if you first wrap that DLL in an ActiveX layer and create an object variable with the CreateObject() command.
    5) VBScript can similarly create an object variable for any application's OLE Automation Server, again with the CreateObject() command. So you can absolutely call a LabVIEW VI from a DIAdem VBScript, and you can pass DIAdem channels to the VI and create new DIAdem channels based on the
    outputs of that VI. Note that this works with all LabVIEW inputs and outputs EXCEPT clusters. So you might have to wrap the VI you're interested in in another VI that builds the clusters to send to the VI you want or unpacks the clusters you get back from the VI you want.
    If either of these points sound interesting to you, we'd be happy to provide VBScript code and examples.
    Regards,
    Brad Turpin
    DIAdem Product Support Engineer,
    National Instruments

  • Register HR custom forms.

    Hi
    Is it recommend to register custom forms on seeded product application and put the fmx files in seeded product folder. Or should all custom forms should be put in custom folder. I need to register custom HR forms.
    thanks
    sva

    Hi,
    Are you going to create a custom schema? If yes, it is recommended you create a new CUSTOM_TOP and place all the files under this directory. If no custom schema is required you can register those custom forms/reports under the product application, just make sure you follow a naming convention to identify your custom objects/files from the seeded ones -- Please see the docs referenced in this thread for details.
    Custom application implemented in E-bussiness Suite
    Re: Custom application implemented in E-bussiness Suite
    Thanks,
    Hussein

  • CALL dll FROM form 6i

    Hi I have to call a dll which returns some message by accepting a file name as input.
    The plateform is Oracle form 6i deployed on oracle AS , and Oracle 8i DB as backend.
    Kindly suggest , what can be best startegy-
    call dll using form 6i in client server .
    call dll using 3 tier deployement.
    or make an ASP or JSP application
    Please suggest.
    Prashant

    Calling DLL using form 6i
    Regards,

  • Calling a dll from forms 6

    Hello,
    Sorry, I'm brazilian and my english isn't very good...
    I'm trying to call some functions from a dll invoked by a trigger on event WHEN-BUTTON-PRESSED. I make a package as this:
    ---- Package Spec ----
    PACKAGE anserlib IS
         function autoconnect(p_connport in number) return boolean;
    END;
    ---- Package Body ----
    PACKAGE BODY anserlib IS
         libhandle ora_ffi.libHandleType;
         autoconnect_fhandle ora_ffi.funchandletype;
         setprinton_fhandle ora_ffi.funchandletype;
         setprintoff_fhandle ora_ffi.funchandletype;
         res varchar2(200);
         commport number;
         function ff_autoconnect(fhandle ora_ffi.funchandletype, p_commport in number) return boolean;
         pragma interface(C, ff_autoconnect, 11265);
         function autoconnect(p_connport in number) return boolean is
         begin
              return(ff_autoconnect(autoconnect_fhandle,p_connport));
         end;
    begin
         libhandle := Ora_Ffi.Load_Library('C:\Juarez\Anser\','Anser712.dll');
         autoconnect_fhandle := ora_ffi.register_function(libhandle,'AutoConnect');
         ora_ffi.register_parameter(autoconnect_fhandle, ora_ffi.C_INT);
         ora_ffi.register_return(autoconnect_fhandle, ora_ffi.C_INT);
         setprinton_fhandle := ora_ffi.register_function(libhandle,'SetPrintOn');
         ora_ffi.register_return(setprinton_fhandle, ora_ffi.C_INT);
         setprintoff_fhandle := ora_ffi.register_function(libhandle,'SetPrintOff');
         ora_ffi.register_return(setprintoff_fhandle, ora_ffi.C_INT);
         ora_ffi.generate_foreign(libhandle, 'anser');
    exception
         when ora_ffi.ffi_error then
              --message(:bloco_teste.mensagem, acknowledge);
              message(tool_err.message, acknowledge);
    END;
    and the trigger is:
    declare
         v_res boolean;
         v_commport number;
    begin
         v_commport := 3;
         v_res := anserlib.autoconnect(v_commport);
    end;
    When I run the form and press button appears the message (it appears in portuguese to me, maybe the text is not the same in english, but i'll try to translate):
    FRM-40734: Internal Error: occours a PL/SQL error.
    Someone have an idea to help me...?
    Thanks vry much!!! :)

    In my opinion this error is something like 'General Protection Fault error' in Windows. I sow this error when my DLL worked with memory incorectly or called OCI functions which don't work under Forms Runtime.
    I think the problem might be caused by a mistake inside the DLL. The other problem may be that you use incorect calling conversion. For instance, the default calling conversion in Borland C Builder or Delphi is fastcall, not cdecl.
    p.s.
    1. Sorry for my English too :).
    2.
    ora_ffi.generate_foreign(libhandle, 'anser');I'm not sure what ora_ffi.generate_foreign does exactly, because I have never used it. As far as I know it isn't needed for this code. I'd recomend you to remove this line from your program.

  • Calling dll from form 6i

    Hi
    i am using oracle 8i database and form 6i in client sever mode. Can I call a custom dll form oracle forms.
    Can any one please help , how to do it.
    Prashant

    first register the dll into registry through regsvr32.exe
    then u can u use it as Activex object and its prcedures so known as methods availabe to invoke in forms 6i
    import ActiveX Control methods and events:
    1     Choose ProgramOLE Importer to display the OLE Importer dialog box.
    2     Select the desired OLE Class, then select the desired OLE methods and events.
    3     Click OK.
    Hope it helps!
    Message was edited by:
    Fiz Dosani
    Message was edited by:
    Fiz Dosani

  • How to use a custom.dll in forms 6i

    Hi,
    i have made a small dll using a icon-making software, that software has made a .dll of the icon I made in that software
    Now i want to use that .dll in my forms 6i. (client/server)
    the dll contains only one icon named 'Icon1'
    would any one please tell me how can I call that icon in that .dll to view in my forms button at run time..
    is this possible..??
    just for clarification, for security reasons I am not using the .ico of that icon diect from hardisk in my button thats why i made a .dll of that so that the user may not be able copy my icon
    thanks in advance,

    Here is the doc
    Doc ID:      Note:99824.1
    Subject:      How to Display User-Defined Cursors and Icons in Forms
    Type:      BULLETIN
    Status:      PUBLISHED
         Content Type:      TEXT/X-HTML
    Creation Date:      23-FEB-2000
    Last Revision Date:      30-OCT-2002
    PURPOSE
    The purpose of this note is to explain how to display customized
    cursors and icons in Forms 6.0 on Windows platform (32 bits).
    Assumption is made that resources are stored in a DLL, which is
    available in the path at runtime.
    It is mandatory to store the cursor in a DLL to make it available
    with Forms: .cur cursor files cannot be directly loaded from the
    file system.
    On the other hand, icons .cio files can directly be read from the
    filesystem by Forms Runtime. However we will focus on icons which are
    stored in a DLL.
    The article is divided into two main parts:
    - how to build a resource-only DLL with Visual C++ 5.0
    - how to display the cursor and the icon in Forms 6.0
    SCOPE & APPLICATION
    The intended audience needs to have basic knowledge in Forms Builder
    and also in Visual C++ (or any other Win32 compiler).
    A typical environment is Forms 6.0, Visual C++ 5.0 and Windows NT.
    WHAT IS A RESOURCE ?
    A resource can be considered as some extra binary information that can
    be added to an executable file. Windows resources are for example icons,
    cursors, menus, dialog boxes, keyboard-accelerator tables and much more.
    Resources are usually stored in a .rc file, which is compiled by the
    resource compiler in order to provide a .res file. These compiled resources
    can then be appended to a binary executable file or a DLL.
    For instance, Visual C++ 5.0 includes a resource editor which allows you to
    draw your icons and your cursors, and store them in a resource file.
    Part I - BUILDING A RESOURCE-ONLY DLL
    Consider the following setup:
    - myicon.ico: icon file
    - mycur.cur: cursor file
    The objective of this section is to build a DLL called proj.dll which
    contains both the icon and the cursor. This operation requires several steps.
    Step 1: Create a project
    In Visual C++, select menu File->New... In the dialog box, choose the Projects
    tab and pick "Win32 Dynamic Link-Library". Fill the project name (e.g. Proj)
    and the location (e.g. c:\MyProjects). Check 'Create new workspace', check
    Win32 as target platform and click on OK.
    This creates a directory c:\MyProjects\Proj, where necessary .rc and .cpp
    files can be stored. Place the .ico and .cur files in this directory too.
    Step 2: Add a resource file to the project
    Create a proj.rc file, edit it and make sure it contains the following lines:
    testcur CURSOR DISCARDABLE "mycur.cur"
    testico ICON DISCARDABLE "myicon.ico"
    This is the resource file. Using the Project->Add to Project->Files... menu,
    select the proj.rc file and add it to the current project.
    Step 3: Add a dummy C++ file to the project
    Create a proj.cpp file, edit it and make sure it contains the following lines:
    #include <windows.h>
    extern "C"
    BOOL WINAPI DllMain (HINSTANCE hInstance, DWORD dwReason, LPVOID)
         return 1;
    This creates an entry-point in the DLL. This function does nothing but is mandatory
    to have a DLL after the build of the project.
    Add the proj.cpp file to the project as described in Step 2.
    Step 4: Choose the target type
    At this moment, you can choose if you need a 'DEBUG' or a 'RELEASE' flavour of
    the DLL. As there is not much to debug in this DLL, the 'RELEASE' flavour is
    recommended. Furthermore, it is much more compact.
    Using the Build->Set Active Configuration... menu, choose the Proj - Win32 Release
    as the active configuration.
    Step 5: Build the DLL
    Now, it is time to compile the resource file, compile the C++ file, link both
    together and build the proj.dll DLL. This operation is performed by using the
    Build->Rebuild All menu.
    After a short time, you should see "Proj.dll - 0 error(s), 0 warning(s)" in
    the Visual C++ message window. This means that the DLL was built successfully.
    Step 6: Place the DLL in the appropriate directory
    The proj.dll file is currently located under the c:\MyProjects\Proj\Release
    directory. Copy it in an appropriate directory which is reachable in the
    runtime environment path.
    Part II - USING THE ICON AND CURSOR IN THE FORM
    At this stage the DLL is created and can be used in the Form application.
    Again, this is a multi-step procedure.
    Step 1: Load the DLL in the Forms Runtime environment
    Assuming the proj.dll DLL is placed in a directory pointed by the
    PATH environment variable, below is the piece of PL/SQL code which loads
    the DLL into the Forms Runtime environment. This code can be placed in the
    WHEN-NEW-FORM-INSTANCE trigger for example:
    declare
         hDLL     ORA_FFI.LIBHANDLETYPE;
    begin break;
         --Preload the DLL so the cursor and Icons can be found.
         -- I'm assuming the DLL is in the path here
         hDLL := ORA_FFI.LOAD_LIBRARY(NULL,'proj.dll');
    exception
         when ORA_FFI.FFI_ERROR then
              for i in 1..TOOL_ERR.NERRORS LOOP
                   message(TOOL_ERR.MESSAGE(i));
              end LOOP;
    end;
    Step 2: Display the cursor stored in the DLL
    Now, you may want to change the cursor when the user clicks on
    a specific button. This is an example of code that could be set
    in the WHEN-BUTTON-PRESSED trigger:
    set_application_property(CURSOR_STYLE,'<proj>TESTCUR');
    <proj> refers to the proj.dll. Please note the < and > signs
    which are mandatory there. TESTCUR is the name of the cursor resource
    as defined in the proj.rc file.
    Step 3: Display the icon stored in the DLL
    You may also want to change the icon of an iconic button after
    some specific end-user action. The appropriate code for that is:
    set_item_property('IBUTTON',ICON_NAME,'<proj>TESTICO');
    IBUTTON is a PushButton, with the Iconic property set to Yes.
    TESTICO is the name of the icon resource as defined in the proj.rc file.
    Asim.

  • How Can i Use Windows DLL in Forms 6i

    I want to use DLLs registred in Windows XP
    What i should i Do

    Hi,
    We have the same problem in our project . In this case we are upgrading from an older version of forms (3.0) to 6i. The UE worked fine in the older version, but now we get a NON ORACLE ERROR. Our DLL is written in MS-VC++ project.
    We'd like to know whether , besides the common version and platform, you have also written the DLL using MS-VC++ ; otherwise please tell us .
    Regards,

  • Custom.dll in forms 4.5

    Can someone give me an example of personalization of custom.dll to modify the list of value on a field ?
    I'm in forms 4.5 and Oracle Applications 11.0.3
    Regards.

    Questions about customizing Applications apps should be entered in the Apps forum.
    Please reenter this question there. Try OA Framework

  • How to register dll file

    Hi
    how i can use JNIregistry Project at:
    www.trustice.com
    to check registry for my dll and register if it isn't
    i uesd JACOB project for this dll
    please i need help as i don't know a lot about registry
    thanks alot

    The program can't start because ftd2xx.dll is missing from your computer. Try reinstalling the program to fix this problem.
    Newly installed program on fairly new Windows 7 laptop. First time running it and we are missing .dll files. The google is full of very malicious looking websites offering dll files.
    Not sure where to go on this one except bothering the vendor. I've seen Microsoft articles with no helpful information as well.
    This topic first appeared in the Spiceworks Community

  • Invoking a VB executable /DLL from Forms 6i

    Hi Everyone,
    We have a complete application (in the form of a product) in
    Forms 6i. We need to integrate a licensing software with this
    Forms product. This licensing software is built in VB. We
    basically need to execute an executable and a DLL - ( I presume
    that i can execute any external application/exectuable using the
    HOST function ) - Please confirm if this can be done. And more
    importantly how do I invoke a DLL which is supposed to return a
    value to the Forms application.
    All inputs are welcome - This is really really Urgent.
    Ipsa.

    I think you can use the ORA_FFI (Foreign Functions Interface) to
    invoke functions in a DLL. I recently put together a small
    package for calling HTML Help files using ORA_FFI. I can send it
    to you if it would be of any help.
    Regards,
    Rajesh Jayaprakash
    [email protected]

  • Registering DLL's

    I have an application in VB 6 with Crystal XI as the back end reporting. Everything installed fine but when the user tries to run the reports they get the error "Run-time error u2018339u2019  Component u2018Crystl32.ocxu2019 or one of its dependencies not correctly registered: a file is missing or invalidu201D. I have had the customer go through and register all the dll's that are listed for Crystal. The part that I can't seem to figure out is that if they are logged in as an administrator, the application runs fine but when they log in as an user, they get this error when trying to run the reports. Do they need to do something special for the user to run the reports?

    Hello Lisa,
    Since you're having an issue with one of the older Crystal runtime components you'll want to move this post to the "Legacy Applications" forum under the "Crystal Reports and Xcelsius" group.
    If the application works correctly when you're logged in as an administator, but not as a regular usuer this suggests an issue with registry access.  It sounds like the regular user doesn't have rights to access the registry.  This may be because when the application was installed it wasn't installed "for everyone."
    You can confirm registry access issues by using a utility called RegMon.  It's part of the Sysinternals Suite, and it's available on the Microsoft website.
    After addressing the registry permission issue the application should start working for the user.
    Sincerely,
    Dan Kelleher

  • Register dll on client side through applet

    hi
    can any on e tell how to register a dll on client side from a signed applet.
    thanx

    I am not very sure. But you can try this:
    public class Dialup {
    public static void main(String[] args) throws Exception {
    Process p = Runtime.getRuntime().exec("register_dll.bat");
    p.waitFor();
    System.out.println("Done.");
    where register_dll.bat is your dll registration (regsvr x.dll)
    Let me know if this works
    Adina

Maybe you are looking for

  • Stmsboot on Solaris 10 x86

    Does the stmsboot command exist on Solaris 10 x86 Update 3? Do I still need to run 'stmsboot -e' to allow multipathing to a SAN? The man page is out there, but no sign on the executable. I've looked on the CD and didn't see it there either. Since stm

  • M90p - Error 0189 Cannot read the security EEPROM

    Hi, I have a Thinkcentre here that says during POST: Error 0189 Cannot read the security EEPROM It then prompts me to enter the BIOS, but no matter what I try, I cannot get rid of the message and boot to the OS. What should I do? BTW, what is the hea

  • Vcast Media Manager Software

    Im running windows 7 (64 bit) Vcast Media Manager Software will only run on 32 bit OS, does anyone have any solutions  so that it will run on 64 bit OS? Appreciate any help on this matter. thanks:

  • Is there any sort of guide?

    Hi, Is there any sort of documentation for using Itunes for Windows? I realize there is a help file, but I'd like to be able to print something out. Thanks, Al

  • Adobe Garamond Pro [Regular] no longer recognized CS2

    For months I have been working on hundreds of documents using Adobe Garamond Pro Regular OpenType font with no problems. Today I was copying some text out of an old Quark document (in the Times font). After pasting it into Indesign CS2 I formatted th