How to use MS TreeView Control in Forms 5.0 ?

I want to Use Microsoft TreeView Control in forms as my user demands a hierachical view of data . he also wants to update data same as we see in windows explorer left side pane, (drag - drop - copy -paste). Can any one tell me hw to do that. i have added the ocx file to forms but i want to know what to write to accomplish that ??
Please help ???

MS Treeview is an activeX control. You may have to go through the MSDN to find out how to import images.
Jeremy

Similar Messages

  • How to use the treeview control

    I tried to use the treeview in the form builder.
    But I failed.
    If anyone can give me the guideline or related data,
    I'll be grateful.
    Thanks.

    Hi,
    Based on your description, my understanding is that you want to use treeview control in InfoPath 2013.
    Per my knowledge, There is no treeview control in Infopath 2013. Have you used the solution from third party? if it is , I suggest that you seek the third party for help. 
    Besides, here is a similar post, you can take a look at:
    http://www.infopathdev.com/forums/p/8978/80652.aspx
    Best Regards,
    Lisa Chen
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Lisa Chen
    TechNet Community Support

  • How to use unicode fonts in Oracle forms 10g?

    Hi I am working in forms 10g for quite a long time, the software that I have developed so far are all in English language. Now I have requirements to use Bengali Fonts in Forms 10g. I am facing difficulties doing that. Please reply with help. Thanks
    Hasan Al Mamun

    Check this forum post (though that is for 6i, it would be of helpful for you)
    How to use unicode fonts in Oracle forms 10g?
    -Arun

  • [Forum FAQ] How to use parameter to control the Expand/Collapse drill-down options in SSRS report?

    In SQL Server Reporting Services (SSRS), drill-down is an action we can apply to any report item to hide and show other report items. They all are ways that we can organize and display data to help our users understand our report better. In this article,
    we are talking about how to use parameter to control the Expand/Collapse drill-down options in SSRS report.
    Consider that the report has a dataset (dsSales) with following fields: SalesTerritoryGroup, SalesTerritoryCountry, CalendarYear, SalesAmount.
    1. The report has the following group settings:
    Parent Group: SalesTerritoryGroup
     Child Group: SalesTerritoryCountry
      Child Group: CalendarYear
       Details: SalesAmount
    2. Add three parameters in the report:
    GroupExpand:
    Available Values: “Specify values”
    Label: Yes           Value: Yes
    Label: No            Value: No
    Default Values: “Specify values”
    Value: Yes
    CountryExpand:
    Available Values: “Specify values”
    Label: Yes           Value: =IIF(Parameters!GroupExpand.Value="No",Nothing,"Yes")
    Label: No            Value: No
    Default Values: “Specify values”
    Value: =IIF(Parameters!GroupExpand.Value="No","No","Yes")
    YearExpand:
    Available Values: “Specify values”
    Label: Yes          
    Value: =IIF(Parameters!GroupExpand.Value="No" or Parameters!CountryExpand.Value="No",Nothing,"Yes")
    Label: No            Value: No
    Default Values: “Specify values”
    Value: =IIF(Parameters!GroupExpand.Value="No" or Parameters!CountryExpand.Value="No","No","Yes")
    3. Right click SalesTerritoryCountry icon in the Row Groups dialog box, select Group Properties.
    4. Click Visibility in the left pane. Select “Show or hide based on an expression” and type with following expression:
    =IIF(Parameters!GroupExpand.Value="Yes", False, True)
    Select “Display can be toggled by this report item” option, and select “SalesTerritoryGroup” in the drop down list.
    5. Use the same method setting CalendarYear, (Details) drill-down with following expression:
    =IIF(Parameters!CountryExpand.Value="Yes", False, True)
    =IIF(Parameters!YearExpand.Value="Yes", False, True)
    6. Click SalesTerritoryGroup text box in the tablix. Select InitialToggleState property in the Properties dialog box, and type following expression:
    =IIF(Parameters!GroupExpand.Value="Yes", True, False)
    7. Use the same method setting SalesTerritoryCountry, CalendarYear text box with following expression:
    =IIF(Parameters!CountryExpand.Value="Yes", True, False)
    =IIF(Parameters!YearExpand.Value="Yes", True, False)
    After that, when we preview the report, we can use these three parameters to expand/collapse drill-down.
    Note:
    In our test, we may meet following issue. We can check the expression of InitialToggleState property to troubleshooting the issue.
    Applies to
    Reporting Services 2008
    Reporting Services 2008 R2
    Reporting Services 2012

    In SQL Server Reporting Services (SSRS), drill-down is an action we can apply to any report item to hide and show other report items. They all are ways that we can organize and display data to help our users understand our report better. In this article,
    we are talking about how to use parameter to control the Expand/Collapse drill-down options in SSRS report.
    Consider that the report has a dataset (dsSales) with following fields: SalesTerritoryGroup, SalesTerritoryCountry, CalendarYear, SalesAmount.
    1. The report has the following group settings:
    Parent Group: SalesTerritoryGroup
     Child Group: SalesTerritoryCountry
      Child Group: CalendarYear
       Details: SalesAmount
    2. Add three parameters in the report:
    GroupExpand:
    Available Values: “Specify values”
    Label: Yes           Value: Yes
    Label: No            Value: No
    Default Values: “Specify values”
    Value: Yes
    CountryExpand:
    Available Values: “Specify values”
    Label: Yes           Value: =IIF(Parameters!GroupExpand.Value="No",Nothing,"Yes")
    Label: No            Value: No
    Default Values: “Specify values”
    Value: =IIF(Parameters!GroupExpand.Value="No","No","Yes")
    YearExpand:
    Available Values: “Specify values”
    Label: Yes          
    Value: =IIF(Parameters!GroupExpand.Value="No" or Parameters!CountryExpand.Value="No",Nothing,"Yes")
    Label: No            Value: No
    Default Values: “Specify values”
    Value: =IIF(Parameters!GroupExpand.Value="No" or Parameters!CountryExpand.Value="No","No","Yes")
    3. Right click SalesTerritoryCountry icon in the Row Groups dialog box, select Group Properties.
    4. Click Visibility in the left pane. Select “Show or hide based on an expression” and type with following expression:
    =IIF(Parameters!GroupExpand.Value="Yes", False, True)
    Select “Display can be toggled by this report item” option, and select “SalesTerritoryGroup” in the drop down list.
    5. Use the same method setting CalendarYear, (Details) drill-down with following expression:
    =IIF(Parameters!CountryExpand.Value="Yes", False, True)
    =IIF(Parameters!YearExpand.Value="Yes", False, True)
    6. Click SalesTerritoryGroup text box in the tablix. Select InitialToggleState property in the Properties dialog box, and type following expression:
    =IIF(Parameters!GroupExpand.Value="Yes", True, False)
    7. Use the same method setting SalesTerritoryCountry, CalendarYear text box with following expression:
    =IIF(Parameters!CountryExpand.Value="Yes", True, False)
    =IIF(Parameters!YearExpand.Value="Yes", True, False)
    After that, when we preview the report, we can use these three parameters to expand/collapse drill-down.
    Note:
    In our test, we may meet following issue. We can check the expression of InitialToggleState property to troubleshooting the issue.
    Applies to
    Reporting Services 2008
    Reporting Services 2008 R2
    Reporting Services 2012

  • How to use MICR fonts in Adobe forms (webdynpro java

    Hi,
          We have a requirement where we need to print some MICR codes (for checks) through Adobe Forms.
    I have installed some true type MICR fonts in windows and Adobe Font Manager (in ADS) as well.
    It is visible in the Adobe Form design time (Font palette) and when I use the font for text, it is visible in preview too. But when I run the web dynpro application, in the online form it is converted into Standard font (Times new Roman).
    Is there anyway to handle this issue.
    Please let me know.
    I am using NWDS 7.0.1
    Adobe Live cycle designer 7.1
    SAP NW 2004s SP14
    Thank you,
    Vasu

    Check this forum post (though that is for 6i, it would be of helpful for you)
    How to use unicode fonts in Oracle forms 10g?
    -Arun

  • I need to program a Hittite Fractional​-N Synthesize​r Evaluation Kit with a HMC702LP6C​E an external YIG oscillator​. Not sure how to use Labview to control the PLL.

    I need to program a Hittite Fractional-N Synthesizer Evaluation Kit with a HMC702LP6CE an external YIG oscillator.  Not sure how to use Labview to control the PLL.

    Here is how to use the PLL. But I don't know of how to interact with that device
    http://zone.ni.com/devzone/cda/tut/p/id/3781
    And for thouse who don't know what a PLL is a free bonus link is here:
    http://digital.ni.com/public.nsf/allkb/07BC8D77D4E​9AE258625708B007CE74F?OpenDocument
    and a second one on what that device is: http://www.hittite.com/products/view.html/view/HMC​702LP6CE
    Now we are all caught up to speed.
    Sam S
    Applications Engineer
    National Instruments

  • How to use an image as my form background in form central

    how to use an image as my form background in form central pls help me....

    Unfortunately this is not supported but you can submit a feature request on this form FormsCentral Ideas.

  • How to use tcom to control vi

    how we use tcom to control vi program? we have got this tcl script from googling  but it is not running , it says to run the vi as activex server ,how can we do it? it is opening the vi but gives the error "high frequency not found in vi connector pane.what are the different methods that we can use with vi ? in the example  some methods such as  getvireference  etc have been used
    # Interfacing to LabView via TCOM
    package require tcom
    # Start the "Frequency Response" VI as an ActiveX server.  (If the VI
    #was
    # compiled then you would refer to it by its registered server name.
    #For
    # example, if you compiled 'A.vi' and created 'A.exe', then you would
    #load
    # it with 'set lv [::tcom::ref createobject "A.Application"]'.)
    set lv [::tcom::ref createobject "LabView.Application"]
    # Create a reference to the VI.  (You may want to use
    # '[$lv ApplicationDirectory]' to get the correct path for this PC.
    # For a compiled VI, use just the VI's name, for example:
    # 'set viPath "A.vi"'.)
    set viPath "C:\\Program Files\\National Instruments\\LabVIEW 8.2\\examples\\apps\\freqresp.llb\\Frequency Response.vi"
    set vi [$lv GetVIReference $viPath]
    $vi FPWinOpen True
    # Create the parameter arrays.  The first array is a list of terminal
    #names;
    # the second array is a list of their values.  We must pass in a value
    #for
    # every terminal on the VI's connector (unless we are very sure that
    #the VI
    # has a valid initial value for that terminal).  We must also pass in
    #a
    # value for the output terminals; LabView will ignore it.
    set names [list Amplitude "Number of Steps" "Low Frequency" "High
    Frequency" "Response Graph"]
    # Create the values array
    set values [list 5 105 15 1005 0]
    # Call the VI and get the results
    $vi Call names values
    # The Response Graph is returned in 'values'
    puts $values
    #5 105 15 1005 {{400.0 406.238291234 412.573873162...
    # If the VI is running we cannot use the 'Call' method, but we can
    # set and query individual Controls/Indicators.  (The "Frequency
    # Response" VI does not continue running - you call it, it runs, then
    # it stops until you call it again.  However, many VIs run
    #continuously
    # once you start them, and many are set to start running as soon as
    #you
    # load them.  Obviously, compiled VIs typically start running as soon
    # as you load them.)
    $vi SetControlValue "Low Frequency" 5
    $vi SetControlValue "Amplitude" 10
    $vi GetControlValue "Amplitude"
    # 10
    # The graph hasn't changed (because the VI isn't running), but we can
    # still read it.  Notice that the graph is an Indicator (not a
    #Control),
    # but we still use the 'GetControlValue' method to read it.
    set new_graph [$vi GetControlValue "Response Graph"]
    # You may need to manipulate the VI's menus.  Unfortunately LabView
    #does
    # not expose any method for doing this, so you must use the Windows
    # Scripting Shell.  The <ESC> key does not seem to work this way, so
    # the menus should have shortcuts that use ALT or Ctrl key
    #combinations.
    # Start the Windows Scripting Shell and send an <ALT> key to the GUI
    set WShell [::tcom::ref createobject WScript.Shell]
    $WShell SendKeys %%
    $WShell SendKeys {DOWN}
    # Send Alt-X
    $WShell SendKeys %X
    # When we are done, we may want to shut down the VI.
    $lv Quit

    Hi,
    I'm not too familiar with tcom interfacing with LabVIEW, but you may want to check out other DFs, such as this one here.  Would it be possible to printscreen the LabVIEW error you are talking about- "high freq not found...".  Furthermore, you may want to confirm the functionality of the script with the person who made it.
    I hope this helps,
    Regards,
    Nadim
    Applications Engineering
    National Instruments

  • How to use the custom control ?

    Hi Friends,
    plz help to use of  custom control in screen painter ?
    and how to use the custom control ?
    Thanking you.
    Regards,
    Subash.

    HI,
    Screen Elements
    A screen can contain a wide variety of elements, either for displaying field contents, or for allowing the user to interact with the program (for example, filling out input fields or choosing pushbutton functions). You use the Screen Painter to arrange elements on the screen.
    You can use the following elements:
    ·        Text fields
    Display elements, which cannot be changed either by the user or by the ABAP program.
    ·        Input/output fields and templates
    Used to display data from the ABAP program or for entering data on the screen. Linked to screen fields.
    ·        Dropdown list boxes
    Special input/output fields that allow users to choose one entry from a fixed list of possible entries.
    ·        Checkbox elements
    Special input/output fields that the user can either select (value ‘X’) or deselect (value SPACE). Checkbox elements can be linked with function codes.
    ·        Radio button elements
    Special input/output fields that are combined into groups. Within a radio button group, only a single button can be selected at any one time. When the user selects one button, all of the others are automatically deselected. Radio button elements can be linked with function codes.
    ·        Pushbuttons
    Elements on the screen that trigger the PAI event of the screen flow logic when chosen by the user. There is a function code attached to each pushbutton, which is passed to the ABAP program when it is chosen.
    ·        Frame
    Pure display elements that group together elements on the screen, such as radio button groups.
    ·        Subscreens
    Area on the screen in which you can place another screen.
    ·        Table controls
    Tabular input/output fields.
    ·        Tabstrip controls
    Areas on the screen in which you can switch between various pages.
    ·        Custom Controls
    Areas on the screen in which you can display controls. Controls are software components of the presentation server.
    ·        Status icons
    Display elements, indicating the status of the application program.
    ·        OK field
    Every screen has a twenty-character OK_CODE field (also known as the function code field) that is not displayed directly on the screen. User actions that trigger the PAI event also place the corresponding function code into this field, from where it is passed to the ABAP program. You can also use the command field in the standard toolbar to enter the OK field. To be able to use the OK field, you need to assign a name to it.
    All screen elements have a set of attributes, some of which are set automatically, others of which have to be specified in the Screen Painter. They determine things such as the layout of the screen elements on the screen. You can set the attributes of screen elements in the Screen Painter - either for a single element, or using the element list, which lists all of the elements belonging to the current screen. Some of the attributes that you set statically in the Screen Painter can be overwritten dynamically in the ABAP program.
    with regards,
    sowjanyagosala

  • Using Microsoft's TreeView Control in Forms 5.0

    I created the OCX item, assigned it the OLE class 'COMCTL.TreeCtrl.1', inserted Microsoft TreeView Control 5.0, imported the appropriate OLE packages and set the appropriate OCX specific properties. With all that done, I created a simple code to clear the nodes collection and then populate it with two dummy nodes. The following is that snippet of code:
    PROCEDURE DO$TREE_INIT(
    i_study_id IN VARCHAR2 DEFAULT NULL
    ) IS
    v_inodes COMCTLLIB_CONSTANTS.INODES;
    v_inode0 COMCTLLIB_CONSTANTS.INODE;
    v_inode1 COMCTLLIB_CONSTANTS.INODE;
    BEGIN
    -- Get pointer to the treeview control's nodes collection.
    v_inodes := COMCTL_ITREEVIEW.NODES(:item('CB_MAIN.OCX_TREE').interface);
    -- Clear nodes collection
    COMCTL_INODES.CLEAR(v_inodes);
    -- Create initial tree structure when provided with a study.
    IF (i_study_id IS NOT NULL) THEN
    v_inode0 := COMCTL_INODES.OLE_ADD(
    interface => v_inodes
    ,relative => OLEVAR_NULL
    ,relationship => OLEVAR_NULL -- TO_VARIANT(COMCTLLIB_CONSTANTS.TVWFIRST, vtype => VT_R8)
    ,key => TO_VARIANT('STUD|AA|123|BC|12', vtype => VT_BSTR)
    ,text => TO_VARIANT('Dursban MOR Study (12312123)', vtype => VT_BSTR)
    ,image => OLEVAR_NULL
    ,selectedimage => OLEVAR_NULL
    v_inode1 := COMCTL_INODES.OLE_ADD(
    interface => v_inodes
    ,relative => TO_VARIANT(COMCTL_INODE.OLE_INDEX(v_inode0), vtype => VT_R8)
    ,relationship => TO_VARIANT(COMCTLLIB_CONSTANTS.TVWCHILD, vtype => VT_R8)
    ,key => TO_VARIANT('FF+|AA|123|BC|12', vtype => VT_BSTR)
    ,text => TO_VARIANT('Facility Functions', vtype => VT_BSTR)
    ,image => OLEVAR_NULL
    ,selectedimage => OLEVAR_NULL
    END IF;
    END DO$TREE_INIT;
    My form complies properly but during runtime I get this error:
    FRM-40735: < ... > trigger raised unhandled exception ORA-100504.
    This form is very simple. It contains only one control block, the tree control, OLE packages, WHEN-NEW-FORM-INSTANCE trigger, and this package. I have tried everything within my understanding. Do you have any suggestions?
    Any help would be appreciated.
    Thanks,
    Rahul

    I have the same situation too. The only solution
    I could think of is to install "Additional ActiveX"
    from custom VB5 installation. Besides there is
    a problem when VB6 is installed, because the controls are
    called "Microsft TreeView ... (SP2)".
    If you find any progress , keep me in touch :) ...
    Iain Sutherst (guest) wrote:
    : I have spent sometime implementing ListView and TreeView
    : controls (provided by COMCTL32.OCX, under VB 5) in Oracle
    Forms
    : 5.0, believing that the only files I would need to distribute
    : when I came to implement on other machines were COMCTL32.DLL
    and
    : COMCTL32.OCX, followed by registering COMCTL32.OCX.
    : This does not seem to be the case, since the control (ListView
    : or TreeView) is not being activated during run-time, and when
    I
    : try to use 'Insert Object...' in the layout editor for the
    : control, nothing happens.
    : Unfortunately, I have loaded VB 5, and Oracle Objects for OLE
    on
    : to my original development environment, and so I cannot now be
    : sure whether I need just COMCTL32.* or whether I need
    something
    : else as well.
    : If anyone has had experience of using these controls and has
    had
    : to roll-out the developed applications to other machines, I'd
    be
    : grateful for any information.
    : Thanks.
    : Iain
    null

  • How to use Source Code Control for Large Application?

    Hi, All!
    I would like to collect knowledge about "best practice" examples for using Source Code Control and project organization for relative large application (let's say approx 1000 SubVIs).
    Tools used:
    LabVIEW 8.0
    CVS Server
    PushOK CVS Proxy Client
    WinCVS
    With LabVIEW 8 we can organize large project pretty well. This described in article Managing Large Applications with the LabVIEW Project.
    I have read this article too: Using Source Control Software with LabVIEW In this Article Source Safe used, but with PushOK all looks nearby the same and works (some tricks for compare function are required).
    Example. Two developers working together on same project. Internally project is modular, so one developer will work with module "Analysis", and another one with "Configuration" without interferences. These modules placed into Subfolders as shown in example above.
    Scenario 1:
    Developer A started with modification of module "Analysis". Some files checked out. He would like to add some SubVIs here. So, he must also perform check out for the project file (*.lvproj), otherwise he cannot add anything into project structure.
    Developer B at the same time would like to add some new functions into module "Configuration". He also needed to check out project file, but this file already checked out by Developer A (and locked). So, he must wait until lvproj file will be checked in. Another way is mark *.lvproj files as text files in PushOK, but then one of developers will get conflict message by checking in and then merging will be necessary. This situation will coming very often, because in most cases *.lvproj file will be checked out all the time.
    Question: Which practice is better for such situation? Is Libraries better than folder for large project?
    Scenario 2:
    Developer C joined to the team. First, he must get complete project code for starting (or may be at least code of one Library, which assigned to him).
    Question: How it can be done within LabVIEW IDE? Or WinCVS (or other SCC UI) should be used for initial checkout?
    Scenario 3:
    Developer D is responcible for Build. Developers A,B,C have added lot of files into modules "Analysis", Configuration" and "FileIO". For building he need to get complete code. If our project splitted into folders, he should get latest *.lvproj first, then newly added SubVIs will appear in Project Explorer, then he should expand tree, select all SubVIs and get latest versions for all. If Project organized in Libraries, he must do the same for each library, isn't?.
    Question: Is this "normal way", or WinCVS should be used for this way? In WinCVS its possible with two mouseclicks, but I prefer to get all code from CVS within LabVIEW IDE recursively...
    That was a long post... So, if you already working with LabVIEW 8 with SCC used for large project, please post your knowledge here about project structure (Folders or Libraries) and best practices, its may be helpful and useful for all of us. Any examples/use cases/links etc are appreciated.
    Thank you,
    Andrey

    Regarding your scenarios:
    1. Using your example, let's say both developers checked out version 3
    of the project file. Assuming that there are only files under the
    directories in the example project, when Developer A checks in his
    version of the project, there will be new files in one section of the
    project separate from where Developer B is working. Developer B,
    notices that there is now a version 4 of the project. He needs to
    resolve the changes so will need to merge his changes to the latest
    version of project file. Since the project file is a text file, that is
    easy to do. Where an issue arrises is that after Developer B checks in
    his merged changes, there is a revision 5. When Developer A and B go to
    make another change, they get the latest version which will have the
    merged changes to the project file but not the referenced files from
    both Developer A and B. So when A opens version 5, he sees that he is
    missing the files that B checked in and visa versa. Here is where the
    developers will needs to manually use the source control client and,
    external to LabVIEW, get those new files.
    Where libraries help with the above scenario is that the library is a
    separate file from the project so changes made to it outside of the
    project do not require the project to be modified. So this time, the
    developers are using a single project again which time time references
    two libraries. The developers check out the libraries, make changes to
    the libraries, and then check those changes in. So when each developer
    opens the project file, since it references the project file, the
    changes to the library will be reflected. There is still the issue of
    the new files not automatically coming down when the latest version of
    the library is obtained. Again, the developers will needs to manually
    use the source control client and, external to LabVIEW, get those new
    files. In general, you should take advantage of the the modularity that
    libraries provide.
    2. As noted in the above scenario, there is no intrinsic mechanism to
    get all files referenced by a LabVIEW project. Files that are missing
    will be noted. The developer will then have to use the source control
    provider's IDE to get the initial contents of the project  (or library).
    3. See above scenarios.
    George M
    National Instruments

  • How to use nested tables in adobe form

    Hi All,
    I have to use nested tables in adobe form for table display. I have used Subforms for displaying table data. I have changed accessibility of the subforms. Currently i am able to print print the table correctly if there is single material record in table 1 and single corresponding record in table 2. But the requirement is that i will have multiple lines in table 1 for single material and only one record in table 2.
    EX: form is for Sales order. in line items if the order is for 100 units then we if we have delivered material as 80, 10, 10, then table 1 will have 3 lines for this. Table 2 will always have only 1 corresponding record.
    item--materialdescription-ordered qty--delivered qty--delivery date-price  
    xxx--xxxxxxx-xxxxxxxxx-10080xxxxxxxxxx-xxxx
    10----
    xxxxxxxxxx
    10----
    xxxxxxxxxx
    yyyyyyyyyyyyyyyyyyy------yyyyyyyyyyyyyyyyyyyyy 
    xxxxxx is table 1 and will have multiple lines
    yyyyyy is table 2 and will have only 1 entry for item xxx
    and this group will be repeate as per no of items. table 1 can have any no of lines per item.
    I am currently able to display 1 line for table 1 and 1 line for table 2.
    But how to show multiple lines for table 1 and 1 line for table 2.

    HI,
          Set the body page as flowed and set the tables also flowed.
    go to bodypage>object->subform-->select flowed option.
    I thihnk this will work..if u are getting all the records properly into the tables 1 and 2.
    Thanks,
    Mahdukar

  • 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 to use java programe in oracle form

    Hello Expert,
    My Config is : -
    Forms [32 Bit] Version 11.1.1.3.0 (Production)
    Jdeveloper - 10.1.3
    I want to use the java programe in form builder. I create the one java class in Jdeveloper -
    package demo;
    import java.net.InetAddress;
    import java.net.NetworkInterface;
    import java.net.SocketException;
    import java.net.UnknownHostException;
    public class get_info{
       public static void main(String[] args){
       ch_add();
       public static void ch_add()
      InetAddress ip;
      try { 
      ip = InetAddress.getLocalHost();
      /*System.out.println("Current IP address : " + ip.getHostAddress());  */
      NetworkInterface network = NetworkInterface.getByInetAddress(ip);
      byte[] mac = network.getHardwareAddress();
      /*System.out.print("Current MAC address : ");   */
      StringBuilder sb = new StringBuilder();            
      for (int i = 0; i < mac.length; i++)
      sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
      System.out.println(sb.toString()); 
      } catch (UnknownHostException e) {
      e.printStackTrace();
      } catch (SocketException e){
      e.printStackTrace();
    and this into Formweb.cfg and default.env and also add into Form_class_path. After that i import this java into forms.
    Code genertated -
    PACKAGE BODY get_info IS
      -- DO NOT EDIT THIS FILE - it is machine generated!
      args   JNI.ARGLIST;
      -- Constructor for signature ()V
      FUNCTION new RETURN ORA_JAVA.JOBJECT IS
      BEGIN
        args := NULL;
        RETURN (JNI.NEW_OBJECT('demo/get_info', '()V', args));
      END;
      -- Method: main ([Ljava/lang/String;)V
      PROCEDURE main(
        a0    ORA_JAVA.JARRAY) IS
      BEGIN
        args := JNI.CREATE_ARG_LIST(1);
        JNI.ADD_OBJECT_ARG(args, a0, '[Ljava/lang/String;');
        JNI.CALL_VOID_METHOD(TRUE, NULL, 'demo/get_info', 'main', '([Ljava/lang/String;)V', args);
      END;
      -- Method: ch_add ()V
      PROCEDURE ch_add IS
      BEGIN
        args := NULL;
        JNI.CALL_VOID_METHOD(TRUE, NULL, 'demo/get_info', 'ch_add', '()V', args);
      END;
      -- Method: wait (J)V
      PROCEDURE wait(
        obj   ORA_JAVA.JOBJECT,
        a0    NUMBER) IS
      BEGIN
        args := JNI.CREATE_ARG_LIST(1);
        JNI.ADD_LONG_ARG(args, a0);
        JNI.CALL_VOID_METHOD(FALSE, obj, 'demo/get_info', 'wait', '(J)V', args);
      END;
      -- Method: wait ()V
      PROCEDURE wait(
        obj   ORA_JAVA.JOBJECT) IS
      BEGIN
        args := NULL;
        JNI.CALL_VOID_METHOD(FALSE, obj, 'demo/get_info', 'wait', '()V', args);
      END;
      -- Method: wait (JI)V
      PROCEDURE wait(
        obj   ORA_JAVA.JOBJECT,
        a0    NUMBER,
        a1    NUMBER) IS
      BEGIN
        args := JNI.CREATE_ARG_LIST(2);
        JNI.ADD_LONG_ARG(args, a0);
        JNI.ADD_INT_ARG(args, a1);
        JNI.CALL_VOID_METHOD(FALSE, obj, 'demo/get_info', 'wait', '(JI)V', args);
      END;
      -- Method: equals (Ljava/lang/Object;)Z
      FUNCTION equals(
        obj   ORA_JAVA.JOBJECT,
        a0    ORA_JAVA.JOBJECT) RETURN BOOLEAN IS
      BEGIN
        args := JNI.CREATE_ARG_LIST(1);
        JNI.ADD_OBJECT_ARG(args, a0, 'java/lang/Object');
        RETURN JNI.CALL_BOOLEAN_METHOD(FALSE, obj, 'demo/get_info', 'equals', '(Ljava/lang/Object;)Z', args);
      END;
      -- Method: toString ()Ljava/lang/String;
      FUNCTION toString(
        obj   ORA_JAVA.JOBJECT) RETURN VARCHAR2 IS
      BEGIN
        args := NULL;
        RETURN JNI.CALL_STRING_METHOD(FALSE, obj, 'demo/get_info', 'toString', '()Ljava/lang/String;', args);
      END;
      -- Method: hashCode ()I
      FUNCTION hashCode(
        obj   ORA_JAVA.JOBJECT) RETURN NUMBER IS
      BEGIN
        args := NULL;
        RETURN JNI.CALL_INT_METHOD(FALSE, obj, 'demo/get_info', 'hashCode', '()I', args);
      END;
      -- Method: getClass ()Ljava/lang/Class;
      FUNCTION getClass(
        obj   ORA_JAVA.JOBJECT) RETURN ORA_JAVA.JOBJECT IS
      BEGIN
        args := NULL;
        RETURN JNI.CALL_OBJECT_METHOD(FALSE, obj, 'demo/get_info', 'getClass', '()Ljava/lang/Class;', args);
      END;
      -- Method: notify ()V
      PROCEDURE notify(
        obj   ORA_JAVA.JOBJECT) IS
      BEGIN
        args := NULL;
        JNI.CALL_VOID_METHOD(FALSE, obj, 'demo/get_info', 'notify', '()V', args);
      END;
      -- Method: notifyAll ()V
      PROCEDURE notifyAll(
        obj   ORA_JAVA.JOBJECT) IS
      BEGIN
        args := NULL;
        JNI.CALL_VOID_METHOD(FALSE, obj, 'demo/get_info', 'notifyAll', '()V', args);
      END;
    BEGIN
      NULL;
    END;
    Now i want to call the o/p of Java programe in oracle text item. Please help me. It's very urgent. I am not good in Java.

    Sir i use java importer.
    PACKAGE BODY get_info IS
      -- DO NOT EDIT THIS FILE - it is machine generated!
      args   JNI.ARGLIST;
      -- Constructor for signature ()V
      FUNCTION new RETURN ORA_JAVA.JOBJECT IS
      BEGIN
        args := NULL;
        RETURN (JNI.NEW_OBJECT('demo/get_info', '()V', args));
      END;
      -- Method: main ([Ljava/lang/String;)V
      PROCEDURE main(
        a0    ORA_JAVA.JARRAY) IS
      BEGIN
        args := JNI.CREATE_ARG_LIST(1);
        JNI.ADD_OBJECT_ARG(args, a0, '[Ljava/lang/String;');
        JNI.CALL_VOID_METHOD(TRUE, NULL, 'demo/get_info', 'main', '([Ljava/lang/String;)V', args);
      END;
      -- Method: ch_add ()V
      PROCEDURE ch_add IS
      BEGIN
        args := NULL;
        JNI.CALL_VOID_METHOD(TRUE, NULL, 'demo/get_info', 'ch_add', '()V', args);
      END;
      -- Method: wait (J)V
      PROCEDURE wait(
        obj   ORA_JAVA.JOBJECT,
        a0    NUMBER) IS
      BEGIN
        args := JNI.CREATE_ARG_LIST(1);
        JNI.ADD_LONG_ARG(args, a0);
        JNI.CALL_VOID_METHOD(FALSE, obj, 'demo/get_info', 'wait', '(J)V', args);
      END;
      -- Method: wait ()V
      PROCEDURE wait(
        obj   ORA_JAVA.JOBJECT) IS
      BEGIN
        args := NULL;
        JNI.CALL_VOID_METHOD(FALSE, obj, 'demo/get_info', 'wait', '()V', args);
      END;
      -- Method: wait (JI)V
      PROCEDURE wait(
        obj   ORA_JAVA.JOBJECT,
        a0    NUMBER,
        a1    NUMBER) IS
      BEGIN
        args := JNI.CREATE_ARG_LIST(2);
        JNI.ADD_LONG_ARG(args, a0);
        JNI.ADD_INT_ARG(args, a1);
        JNI.CALL_VOID_METHOD(FALSE, obj, 'demo/get_info', 'wait', '(JI)V', args);
      END;
      -- Method: equals (Ljava/lang/Object;)Z
      FUNCTION equals(
        obj   ORA_JAVA.JOBJECT,
        a0    ORA_JAVA.JOBJECT) RETURN BOOLEAN IS
      BEGIN
        args := JNI.CREATE_ARG_LIST(1);
        JNI.ADD_OBJECT_ARG(args, a0, 'java/lang/Object');
        RETURN JNI.CALL_BOOLEAN_METHOD(FALSE, obj, 'demo/get_info', 'equals', '(Ljava/lang/Object;)Z', args);
      END;
      -- Method: toString ()Ljava/lang/String;
      FUNCTION toString(
        obj   ORA_JAVA.JOBJECT) RETURN VARCHAR2 IS
      BEGIN
        args := NULL;
        RETURN JNI.CALL_STRING_METHOD(FALSE, obj, 'demo/get_info', 'toString', '()Ljava/lang/String;', args);
      END;
      -- Method: hashCode ()I
      FUNCTION hashCode(
        obj   ORA_JAVA.JOBJECT) RETURN NUMBER IS
      BEGIN
        args := NULL;
        RETURN JNI.CALL_INT_METHOD(FALSE, obj, 'demo/get_info', 'hashCode', '()I', args);
      END;
      -- Method: getClass ()Ljava/lang/Class;
      FUNCTION getClass(
        obj   ORA_JAVA.JOBJECT) RETURN ORA_JAVA.JOBJECT IS
      BEGIN
        args := NULL;
        RETURN JNI.CALL_OBJECT_METHOD(FALSE, obj, 'demo/get_info', 'getClass', '()Ljava/lang/Class;', args);
      END;
      -- Method: notify ()V
      PROCEDURE notify(
        obj   ORA_JAVA.JOBJECT) IS
      BEGIN
        args := NULL;
        JNI.CALL_VOID_METHOD(FALSE, obj, 'demo/get_info', 'notify', '()V', args);
      END;
      -- Method: notifyAll ()V
      PROCEDURE notifyAll(
        obj   ORA_JAVA.JOBJECT) IS
      BEGIN
        args := NULL;
        JNI.CALL_VOID_METHOD(FALSE, obj, 'demo/get_info', 'notifyAll', '()V', args);
      END;
    BEGIN
      NULL;
    END;
    I read both document which is given by you.
    Basicaly i don't know how to call java program in form builder.
    I wrote this code on When-button-pressed
    DECLARE
    jo ora_java.jobject;
    rv varchar2(1500);
    ex ora_java.jobject;
    BEGIN
    jo := get_info.new;
    rv:=get_info.ch_add(jo );
    EXCEPTION
    WHEN ORA_JAVA.JAVA_ERROR then
      message (' Unable to call out to Java, ' ||ORA_JAVA.LAST_ERROR );
      message('');
    WHEN ORA_JAVA.EXCEPTION_THROWN then
      ex := ORA_JAVA.LAST_EXCEPTION;
      message(' Unable to call out to Java ' ||Exception_.toString (ex ) );
      message(' Unable to call out to Java ' ||Exception_.toString (ex ) );
    END;
    No error comes and no output comes. I want the client MAC ID. please guide me where i need to change the code.

  • How to use BULK COLLECT in oracle forms

    hi gurus,
    I am using oracle forms
    Forms [32 Bit] Version 10.1.2.0.2 (Production)
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionI wanna use bulk collect from database table lets say <employees>
    while working on database level with collections and records it's working very well for me, but when I try to use that technique on oracle forms it hits me error
    error 591 this feature is not supported in client side programmingI know I can use cursors to loop through the records of oracle tables ,
    but I'm convenient while using collections and arrays
    for example
    Set Serveroutput On
    Declare
          Type Rec_T Is Record (     
           Empid Number ,
           Empname Varchar2(100)
          Type V_R Is Table Of Rec_T Index By Binary_Integer;     
          V_Array V_R;
    Begin
       Select Employee_Id , First_Name
       Bulk Collect
       Into V_Array
          From Employees; 
       For Indx In V_Array.First..V_Array.Last Loop
       Dbms_Output.Put_Line('employees id '||V_Array(Indx).Empid ||'and the name is '||V_Array(Indx).Empname);
       End Loop;      
         End;I wanna use this same way on oracle forms , for certain purposes , please guide me how can I use ...
    thanks...

    For information, you can use and populate a collection within the Forms application without using the BULK COLLECT
    Francoisactually I want to work with arrays , index tables ,
    like
             record_type (variable , variable2);
             type type_name <record_type>  index by binary_integer
            type_variable type_name;
            and in main body of program
            select something
            bulk collect into type_variable
            from any_table;
           loop
                type_variable(indx).variable , type_variable(indx).variable2;
           end loop;
           this is very useful for my logic on which I am working
              like
              type_variable(indx).variable || type_variable(indx-1);
             if it's possible with cursors then how can I use cursor that can fullfill my this logic@Francois
    if it's possible then how can i populate without using bulk collect?
    thanks
    and for others replies: if I can use stored procedures please give me any example..
    thanks

Maybe you are looking for

  • Error in Deploying External Table

    Hi, I am using OWB 10.2g version to create a database. While deploying the external table, I got the following message: "TSS_15MIN_EX     ErrMsgKey     VLD-0180: A default location is required for external tables." Could you help me in solving this i

  • PL/SQL Callback notification with aq$_jms_text_message

    Hi, i want to set up a notfication for a pl/sql callback procedure. The message in my queue is enqueued via propagation from another instance. This is my setup (using oracle 10.2.0.3): -------- the queue (multiconsumer): -------------- begin dbms_aqa

  • RoboHelp Glossary, Index, and TOC Features

    I looked at some online training that had a really nice glossary feature.  I'm trying to figure out if Robohelp is what I need to accomplish something like this since it claims to have such great glossary, Index, and TOC features.  However,  I can't

  • Formatting XML Output

    How can I format the XML output I get from extract()? - get rid of new lines - get rid of indents - get rid of namespaces Thanks.

  • Aps for processing RAW or DNG picture files

    Are there any aps for processing RAW and or DNG files on ad iPad?