Contains and catsearch operates differently ?

Hi,
I've got an app which does a search on product names;
create table products_tbl(id number primary key, text varchar2(4000));
insert into products_tbl values(112,'Smith Bitter');
commit;
create index products_idx on products_tbl( text )
indextype is ctxsys.context;
I get no data found with this query; select * from products_tbl where contains(text,'Bitter Smith',1) >0;
If I drop the context index and create a ctxcat one instead;
drop index products_idx;
create index products_idx on products_tbl( text )
indextype is ctxsys.ctxcat;
Running the following does return the row; select * from products_tbl where catsearch(text, 'Bitter Smith','')>0;
Is this expected behaviour? I understand the uses for CONTEXT and CTXCAT, but just didn't see anything in the documentation which suggested contains and catsearch operated in different manner above.
My DB is 10g, but I've tried it on 11g and it's the same.
Cheers

The syntax is different. Searching for "a b c" using catsearch is the same as searching for "a AND b AND c" using contains. This is documented in the following section:
http://download.oracle.com/docs/cd/B28359_01/text.111/b28304/csql.htm#i997256
You can use a query template with context grammar to get the results that you would expect from a contains search. Please see the demonstration below.
SCOTT@orcl_11g> create table products_tbl(id number primary key, text varchar2(4000));
Table created.
SCOTT@orcl_11g> insert into products_tbl values(112,'Smith Bitter');
1 row created.
SCOTT@orcl_11g> insert into products_tbl values(113,'Bitter Smith');
1 row created.
SCOTT@orcl_11g> commit;
Commit complete.
SCOTT@orcl_11g> create index products_idx on products_tbl( text )
  2  indextype is ctxsys.context;
Index created.
SCOTT@orcl_11g> column text format a30
SCOTT@orcl_11g> select * from products_tbl where contains(text,'Bitter Smith',1) >0;
        ID TEXT
       113 Bitter Smith
SCOTT@orcl_11g> drop index products_idx;
Index dropped.
SCOTT@orcl_11g> create index products_idx on products_tbl( text )
  2  indextype is ctxsys.ctxcat;
Index created.
SCOTT@orcl_11g> select * from products_tbl where catsearch(text, 'Bitter Smith','')>0;
        ID TEXT
       112 Smith Bitter
       113 Bitter Smith
SCOTT@orcl_11g> select *
  2  from   products_tbl
  3  where  catsearch
  4             (text,
  5              '<query>
  6              <textquery grammer="CONTEXT" language="english">Bitter Smith
  7              </textquery>
  8            </query>','') > 0;
        ID TEXT
       113 Bitter Smith
SCOTT@orcl_11g>

Similar Messages

  • CONTAINS and CATSEARCH

    If I understand it correctly, to use contains(text_col, ...) or catsearch(text_col, ...) in a WHERE clause, the "text_col" column must first carry an index on it. Is this correct?
    Another thing, this source:"http://www.dba-oracle.com/oracle_tips_like_sql_index.htm" mentions:
    "... Oracle Text indexes are only useful for removing full-table scans when the tables are largely read-only and/or the end-users don’t mind not having 100% search recall:
    The target table is relatively static (e.g. nightly batch updates)
    Your end-users would not mind “missing” the latest row data
    --Does this mean, if my table is not read-only, I'd better not use the text index, hence can not use the CONTAINS (or CATSEARCH) in my WHERE clause?
    Please help me to understand this issue.
    Thanks.
    Scott

    Hello;
    There are several examples in the "Text" forum :
    Re: Oracle Text error DRG-12306
    JOINs and CATSEARCH
    Re: Catesearch question
    CATSEARCH with the CONTEXT grammar
    Working with CONTAINS
    Re: CONTAINS: anchor to beginning of string
    Best Regards
    mseberg
    Edited by: mseberg on Apr 9, 2012 3:01 PM

  • The different between Contain and equals

    I not sure about the different between contain and equals if I want to know if the string have some character or not ?
    thankyou

    HJava wrote:
    Thank you for all the reply,
    I have if (myTYpe.substring(0).contains(""u") ) work
    if if (myTYpe.substring(0).equals(""u") ) not work
    so I post this question, may be I made other mistake
    Thank youIf you wanted to see if the first character of the string was u then it is either
    myTYpe.charAt(0) == 'u'or startWith("u") or matches("^u.*$") etc, etc, etc.
    substring(0) will return the entire String, of course, which you would know if had actually looked at the API docs to find out what it did or even simply printed out the result to see what it did. Seemingly, however, you simply assumed you knew what it did and went on with that false assumption without bothering to even attempt to verify even though it was, already, not producing the results you expected. Instead, you focused on "the difference between contains and equals" which is self-evident in their names and obviously not the problem to begin with.

  • Can't I use my wireless mouse and trackpad in different ways when scrolling?

    Since I'm a Chinese user, I prefer describing my question in my mother language...I will translate it...
    在系统偏好设置里,倒是可以分别设置鼠标和触控板,但是当我打开触控板的“自然滚动”,同时取消鼠标的“滚动或导航时,使内容按手指方向移动”,之后,鼠标恢复原来的滚动 方式,郁闷的使触控板的滚动方式也跟着变化了⋯⋯
    但这时打开触控板的设置,“自然滚动”依然是选中的啊⋯⋯
    如果这时关闭“自然滚动”,再重新开启,鼠标设置界面的“滚动或导航时,使内容按手指方向移动”虽然是为选中的,但使用时滚动方向又变成反向了⋯⋯
    各位有遇到么⋯⋯我觉得是个BUG吧,期待修复⋯⋯
    我的鼠标是雷柏的6900,蓝牙无线
    本子是新的MBA 11‘
    Well, there is two setting items in system preference for "mouse" and "trackpad", and there do have the checkbox for "Move content in the direction of finger movement when scrolling or navigating" and for "Scroll direction: natural". I checked the "Natural Scroll"---- if I may call it this way ---- option and unchecked the same option in mouse setting wishing to use my mouse and trackpad in different ways...
    However, it turned out to be a confusing phenomenon like I can only use my mouse and trackpad in the way "Natural Scroll" or the way it used to be. If I double click the checkbox of "Move content in the direction of finger movement when scrolling or navigating" to refresh my settings, both my mouse and trackpad will turn into the way it used to be in scrolling while if I double click on the "Natural Scroll" checkbox, both of them will turn into the new way.
    At the same time, eventhrough the setting of my mouse has been changed by the changing of trackpad setting, the checkbox in "mouse" is still unchecked and that's where makes it seems like a BUG....
    So, is there anybody who meets the same problem? The reason I want to use this two device in different ways is I just don't like to use mouse in the new way, it's unconfortable for me.
    And, I use a new MacBook Air 11' and a wireless mouse called Rapoo 6900
    Here comes the link of my wireless mouse.
    http://en.rapoo.com/ProOverview.aspx?PID=3550

    jhawk,
    I can see the appeal of your desired setup, but is the limitation the inability to "Pair" the mouse/keyboard to more than one computer at a time? (Practically, that makes sense, you don't want to be blindly moving both cursors around at the same time, since you can only see one screen at a time)
    You CAN operate bluetooth devices on Windows without pairing-you just need to locate the device each time before using:
    http://www.oreillynet.com/pub/a/wireless/2003/09/18/winxpunwired.html
    So maybe you can pair the Mac version, and just search out the device each time you switch over? (but then you would have to "unpair" it off the Mac too) Maybe you need to write two scripts for each platform: pair/unpair devices.
    Sounds like it would be easier to buy two wireless keyboards and mice :P
    What you really want is a utility like this:
    http://www.abyssoft.com/software/teleport/
    (its only Mac to Mac though, unfortunately)
    Good luck!

  • Docking container and SAP standard transaction

    Hello,
    in one screen I have a tree control container and a docking container. With the tree control container everything is perfect. If the user does a click on a node on the tree in the docking container there should be shown a SAP standard transaction (QA03) with the corresponding data.
    I have not found a possibility to show QA03 or QM03 in a docking container. I also tried it in a splitter container, but I do not know how.
    Can anybody help me?
    Greetings
    Corinna

    Hello Corinna
    There is a simple answer to your question: it is not possible.
    Container can only hold other containers or controls.
    Do not be fooled by the ABAP workbench where we apparently can switch between different transactions (e.g. display a class [SE24], show method coding [SE80], double-click on a DDIC structure [SE11]). The ABAP workbench simply changes the control to be displayed but NOT the transaction (remains always the same).
    Regards
      Uwe

  • ESB and BPEL in different servers

    Hi ,
    Is there any performance based advantage when we have BPEL and ESB in different servers ?

    If you seperate them, it will have impacht on the perfromance. Services are called over the network, assuming BPEL and ESB are on different servers. Otherwise they can call each other via native binding if ESB and BPEL are in the server and container.
    Marc
    http://orasoa.blogspot.com

  • Container and codec for images

    hello guys
    my question is
    has images container and codec like videos?
    can you give m some example of images container and codec?
    another question
    png, jpeg, gif etc are codec or container?
    i have a lot of confusion in my head U_U

    Well, if one wants to get highly technical, those Still Images do contain CODEC's, or sorts. Most are compressed formats, and Encoding was required to write them. Then, one does Decode the information via the file's header, but with Stills, it differs from Video (and most Audio), in that the information to Decode is constant, and is not anywhere near as variable, as with Video. For instance, if one does not have the capability to Decode JPEG2000 (usually via a plug-in), they cannot Open one on that system. Same with writing the file - if they do not have the JPEG2000 capability, that option will not be listed. So yes, one could extend the term CODEC to cover the Still Image formats, but that is an uncommon application of the term CODEC. Here, it really gets down to semantics and common usage.
    For Audio, which is not muxed, things are still pretty simple. WAV (the format), will most likely have PCM, or LPCM (similar, but with some differences), and the file will be Uncompressed. MP3, will only have the MPEG, with certain, limited parameters. AC3 (a form of MPEG), can have some variations, but the most common is the Dolby Digital MPEG CODEC, and is often referred to as DD AC3. That can be a 2-channel (most often seen as stereo, but not always), or 6-channel (most often seen as 5.1 SS, but not always).
    When one muxes the Audio & Video Streams into one "wrapper," or format, things can get a bit more involved, though the Audion Stream is usually much more limited.
    Some Video CODEC's can appear in different wrappers, but when the standards are broken, many programs can experience issues, as they are hard-coded to look for a particular set of Video CODEC's, in particular formats. Recently, some camera mfgrs. have decided to wrap the H.264 CODEC into an AVI wrapper. Programs, like Premiere Pro are not used to looking for H.264 in the AVI wrapper. It looks for H.264 in MOV, MTS, MP4, and a few more, wrappers.
    Then, one gets to AVCHD, with IS a sub-set of H.264, but all H.264 material is NOT AVCHD. It is particular.
    To confuse things, even more, some camera mfgrs. have gone back to an older CODEC, MJPEG (Motion JPEG), but have tweaked that for their specific uses. That means that one might have an MJPEG CODEC installed on the system, but it will not work in their editng program, as camera mfgr. ____ tweaked the CODEC, that they use. In that case, it is best to install the camera mfgr's. specific version of MJPEG.
    Keeping 100% current on Video CODEC's is an impossible task, as new ones, or tweaked versions of older ones, are introduced about every six mos, and some of those are NOT placed into the common wrappers. Knowing the general concepts, and a few of the most common Video CODEC's, is as good as it gets.
    Hope that helps,
    Hunt

  • Do I need to cleanup runtime binding container and iterators?

    If I create a runtime binding container and iterator in a JSF session bean as follows:
    FacesContext facesContext = FacesContext.getCurrentInstance();
    ValueBinding valueBinding = facesContext.getApplication().createValueBinding("#{data}");
    BindingContext bindingContext = (BindingContext)valueBinding.getValue(facesContext);
    // To create JUIteratorBinding, we need the following objects
    DCDataControl dataControl = bindingContext.findDataControl("MyDataControlName");
    ApplicationModule appModule = (ApplicationModule)dataControl.getDataProvider();
    DCBindingContainer bindingContainer = new DCBindingContainer();
    // Create dynamic iterator.  Need to set bindingContainer otherwise executeQuery throws exception
    JUIteratorBinding iterator = new JUIteratorBinding(bindingContext, dataControlName, "MyViewObjectName", "MyIteratorName", -1);
    iterator.setBindingContainer(bindingContainer);....do I have to later clean down the iterator and binding container from the data control to release the memory (and what calls do I need to make), or once the objects fall out of scope in my code are they marked for GC?
    CM.
    PS. JDev 10.1.3.1, ADF BC and JSF

    Hi Steve, thanks for the follow up.
    I'm coding a dynamic menu <af:page> control that maps to the MenuTreeModelAdapter (session bean) as detailed in the JDev 4GL/Forms guide.
    I've made a change that instead of loading the menu items from the hardcoded faces-config.xml file, they're actually sourced from the database via the code above, which is placed in the MenuTreeModelAdapter constructor. As the <af:page> tag exists on a number of pages, and thus the MenuTreeModelAdapter may be instantiated for the first time from a number of different locations, I can't hard-code the binding container or iterator into any single pageDef file. Thus I dynamically construct it in the constructor when the session bean is created for each user. I require a session bean as the menu items are different for each user.
    However I'm concerned once I've created the binding container and iterator, that even though the session bean may become invalidated, the 2 binding layer constructs may remain, consuming resources.
    Thanks for your assistance.
    CM.

  • Trigger Email to SC Requestor when SC Creator and Requestor are different

    Hi SRM Gurus,
    I need to trigger an email to SC Requestor when the SC Creator and Requestor are different.
    I searched in the forum but i couldn't get any details related to this.
    Please throw some light on this.
    Thank You.
    With Regards,
    P.Arunkumar

    Hi,
    A couple of approaches are possible:
    1) Incorporate the check into the approval-workflows. The information you need (both creator and requestor) are in the business-object (bus2121). This will require someone with knowledge of workflow, but it's not really all that difficult. Note that you use a notification-task and not a workitem to inform the requestor (you want them to get an email with info, not a workitem like an approver gets).
    Check out the workflow WS10400051 which is used at the end of all SC-workflows. It already contains checks on "sending mail" to approvers, reviewers etc. and a sub-workflow to generate mails to these agents. This would be an "easy" place to add your check and your mail-sending.
    2) Create a Z-copy of the BUS2121 and adapt the setreleased-function to handle sending the mail (less work but more invasive).
    If you have further questions, please report. I will check this thread in the coming time.
    If this helps you, please awards points.

  • 'CO Area 0001 and SHCA have different elements'

    Hi friends,
    I am trying to copy the number range from 0001 to my controlling area (SHCA) in KANK. However, I am getting the following message: <b>"CO Area 0001 and SHCA have different elements"</b>
    Have I missed something?
    Thanks in advance!

    This symptom is caused due to the fact that the required transactions are not contained in Table TKA04.
    Please fallow the below steps
    1. Run Transaction OKC1 to check which business transactions must exist. OKC1 shows these in a list.
    2. Check Table TKA04 using Transaction SE16 (general table display) Specify the controlling area. Compare the result here with the result from step 1. If not all business transactions from step 1 exist for the controlling area, you must generate the missing
       entries.
    3. Call up Report RKTKA04C using Transaction SE38. Read the  documentation. The report creates the entries that are misiing.
    Regards
    Siva

  • Java interfaces and containers in different classes

    Hi in trying to create an interface in Java that will be the basis for other classes to populate areas on in in certain panels.
    So for example I have a default size for a screen and some default buttons that should appear on it. These are all setup in a class called ScriptyUI. Within ScriptyUI I want to set up several rows where each row will be populated with the container of a different class. So for instance another class called NetworkAreaUI will create all the buttons and boxes needed for the NetworkUI class along with the actionListeners for each of the buttons. I therefore want to add this into one of the rows of the ScriptyUI class.
    Each time I try and call the networkAreaUI class from within the ScriptyUI class I get an error stating that a container is expected and not a window.
    Any Ideas?
    I have placed everything within the ScriptyUI class and it works, however this class soon becomes so large it is quite unmanageble.
    What I am also trying is something similar to these code snippets:
    I want to add this.............:
    public class NetworkAreaUI extends JFrame implements Runnable, ActionListener
        private JPanel networkPanel;
        private JTextField netPath;
        private JButton remove;
        private JButton add;
        private JLabel netDrives;
        private JComboBox driveList;
        private int driveCount = 0;
        private Thread adds;
        private Thread lists;
        private Thread removes;
        protected NetworkDrive myNetworkDrive;
    public NetworkAreaUI()
            Container cp = getContentPane();
            cp.setLayout(new BorderLayout());
            networkPanel = new JPanel();
            networkPanel.setLayout(new GridLayout(3,4));
            netDrives = new JLabel("Type Network Drive Location");
            networkPanel.add(netDrives);
            remove = new JButton("Remove");
            networkPanel.add(remove);
            netPath = new JTextField("\\\\Server\\Share\\Name",20);
            networkPanel.add(netPath);
            add = new JButton("add");
            networkPanel.add(add);
            driveList = new JComboBox();
            networkPanel.add(driveList);
            networkPanel.setVisible(false);
            cp.add(networkPanel);
            //Adds action listeners
            //Adds MenuSelection to the menu's
            remove.addActionListener(this);
            add.addActionListener(this);
            driveList.addActionListener(this);(then there is code for the action listeners )........into this.....
    public class ScriptyUI extends JFrame// implements ActionListener, Runnable
        private final int FRAME_WIDTH = 600;
        private final int FRAME_HEIGHT = 540;
        private JPanel rows;
        private JPanel row1;
        private JPanel row2;
        private JPanel row3;
        private JPanel row4;
        private JPanel button;
        private JPanel outputArea;
        private JTextArea message;
        private JPanel selection;
        private JButton vbs;
        private JButton bat;
       /* private JPanel networkPanel;
        private JTextField netPath;
        private JButton remove;
        private JButton add;
        private JLabel netDrives;
        private JComboBox driveList;
        private int driveCount = 0;
        private JMenuBar menu;
        private JMenu fileMenu;
        private JMenu helpMenu;
        private JMenuItem restartMenu;
        private JMenuItem quitMenu;
        private JMenuItem show;
        protected NetworkDrive myNetworkDrive;
        protected NetworkAreaUI myNetGui;
        private JButton back;
        private JButton next;
        private JTextArea output;
        private JScrollPane jsp;
        private JButton save;
        private JFileChooser fc;
        private String fileType;
        // private Thread thread;
    /*   private Thread adds;
        private Thread lists;
        private Thread removes;
        private Thread nextOne;
        private Thread saveIt;*/
      //  private Thread;
        public ScriptyUI(String title)
            super(title);
            myNetworkDrive = new NetworkDrive();
            myNetworkDrive.reset();
         //   myNetGui = new NetworkAreaUI();
            setUpGui();
    public void setUpGui()
            setSize(FRAME_WIDTH,FRAME_HEIGHT);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            Container cp = getContentPane();
            cp.setLayout(new BorderLayout());
            //Setup Menu Bar
            menu = new JMenuBar();
            setJMenuBar(menu);
            fileMenu = new JMenu("File");
            helpMenu = new JMenu("Help");
            restartMenu = new JMenuItem("Start Over");
            quitMenu = new JMenuItem("Quit game");
            show = new JMenuItem("Show Drives");
            //Construct Menu Bar
            menu.add(fileMenu);
            menu.add(helpMenu);
            fileMenu.add(restartMenu);
            fileMenu.add(quitMenu);
            fileMenu.add(show);
            rows = new JPanel();
            rows.setLayout(new GridLayout(6,1));
            //Create Message area and populate with Text.
            row1 = new JPanel();
            message = new JTextArea("Select which format you " +
                    "would like the Script to be in. Visual Basic" +
                    "Script or Batch Script", 3, 30);
            row1.add(message);
            rows.add(row1);
            //setup the selection screen
            row2 = new JPanel();
            selection = new JPanel();
            selection.setLayout(new BorderLayout());
            //sets the buttons on the selection screen
            vbs = new JButton("Visual Basic Scripts");
            selection.add(vbs, BorderLayout.NORTH);
            bat = new JButton("Batch Scripts");
            selection.add(bat, BorderLayout.SOUTH);
            row2.add(selection, BorderLayout.CENTER);
            rows.add(row2);
            row3 = new JPanel();
            myNetGui = new NetworkAreaUI();
            row3.add(myNetGui);
            rows.add(row3);
    cp.add(rows, BorderLayout.CENTER);Any help or guidance will be greatly appreciated,

    Encephalopathic wrote:
    good
    Thanks :)
    Are you sure that you want to use a Container and not a JPanel or JComponent? This is Swing after all.Hi i set up the method as below which seemed to work:
    public Container setup()
            networkPanel = new JPanel();
            networkPanel.setLayout(new GridLayout(5,2));
            netDrives = new JLabel("Type Network Drive Location:");
            networkPanel.add(netDrives);
            typeName = new JLabel("Type Drive Letter:");
            networkPanel.add(typeName);
            netPath = new JTextField("\\\\Server\\Share\\Name",20);
            networkPanel.add(netPath);
            nameDrive = new JTextField("X",1);
            networkPanel.add(nameDrive);
            add = new JButton("add");
            networkPanel.add(add);
            remove = new JButton("Remove");
            networkPanel.add(remove);
            driveList = new JComboBox();
            networkPanel.add(driveList);
            driveNames = new JComboBox();
            networkPanel.add(driveNames);
            //Adds action listeners
            //Adds MenuSelection to the menu's
            remove.addActionListener(this);
            add.addActionListener(this);
            driveList.addActionListener(this);
            //return the content panel
            return networkPanel;
    }it is set up in the header to return container
    public Container setup()
    .but i actually return networkPanel which is setup as a JPanel.
    So have now changed it to read:
    public JPanel setup()
    .I think that should be a little better? is it?
    Thanks for the heads up.
    Ian

  • How to refresh the data in a container and to update the new data

    Hi,
    I have created a Module Pool Program in which i have two containers to display the long text.
    Initially this container is filled and based on some condition i want to update the text in the same conatiner.
    I am using the below two classes to do all this.
    cl_gui_textedit,
    cl_gui_custom_container,
    Could someone help me how to remove the long text in the container and update the new long text.
    I am getting the new long text but not able display it in the same container. Please someone help me how to refresh and update the container.
    Thanks in advance.

    Hi
    Try this.
      IF cl_gui_textedit  IS INITIAL.
      create control container
        CREATE OBJECT cl_gui_custom_container
           EXPORTING
                container_name = 'Container Name''
           EXCEPTIONS
                cntl_error                  = 1
                cntl_system_error           = 2
                create_error                = 3
                lifetime_error              = 4
                lifetime_dynpro_dynpro_link = 5.
    create text_edit control
        CREATE OBJECT cl_gui_textedit
           EXPORTING
                parent = cl_gui_custom_container
                wordwrap_mode = cl_gui_textedit=>wordwrap_at_windowborder
                wordwrap_to_linebreak_mode = cl_gui_textedit=>false
           EXCEPTIONS
                error_cntl_create      = 1
                error_cntl_init        = 2
                error_cntl_link        = 3
                error_dp_create        = 4
                gui_type_not_supported = 5.
      ENDIF.
    *--use method to set the text
      CALL METHOD cl_text_edit->set_text_as_stream
        EXPORTING
          text            =  t_lines ( Internal table with long text).
        EXCEPTIONS
          error_dp        = 1
          error_dp_create = 2
          OTHERS          = 3.
    regards,
    Raghu.

  • Problem with storing and retriving a different langauge font in mysql

    hi,
    i have problem with storing and retriving a different character set in
    mysql database ( for example storing kannada font text in database)
    it simply store what ever typed in JTextField in database in the
    formate ??????????? and it showing ???????? .
    please what can i do this problem.
    thanks
    daya

    MySQL does not know about what type of Font you use or store. that is applicatioon specific. All it knows is the character set that you are storing and the data type and data. THere are something you should know when working with database and Java:
    1. make sure you know what character set is used for the database table.
    2. make sure you know what character set is used by Java (default to UTF-8 ..
    sort off - there are few character that it cannot save). You can enforce the
    character set being sent to the database by the String's getBytes(String charsetName) method.
    3. make sure the application you use to view the table use the correct character set
    if it use a different character set, then any character that it does not recogized
    will be replaced with a quetion mark '?'....eventhough the data is correct.

  • Is it possible to have 2 icloud accounts on one pc?  My wife and I have 2 separate itunes accounts and we have different music stored on our iphones.  She just recently got an IPAD and I will be getting one soon.  We would like to share ibooks purchased f

    Is it possible to have 2 icloud accounts on one pc?  My wife and I have 2 separate itunes accounts and we have different music stored on our iphones.  She just recently got an IPAD and I will be getting one soon.  We would like to share ibooks purchased from itunes.  If she stored it them on icloud, can I download it onto my ipad?

    How to use multiple iPods, iPads, or iPhones with one computer
    http://support.apple.com/kb/HT1495
    How To Best Use and Share Apple IDs across iPhones, iPads and iPods
    http://www.nerdsonsite.com/blog/2012/06/07/help-im-appleid-confused/
     Cheers, Tom

  • FLV Playback and Seekbar on different native windows in one Air application

    Hello Everyone.  I'm trying to make a simple video playback AIR application that utilizes the initial native window to house a transport control with a seekbar on it.  Once the application launches, it creates a second (new) window on my second screen and places a FLVPlayback instance on that new window.  Everything works just like it want it to except for one thing.  When the seekbar and FLVplayback instance are not located on the same window stage, the seekbar handle sticks to the mouse when trying to scrub through the video.
    I've added both the transport control and the FLVPlayback instance to the original native window as children and I have also added both of them to the new window as children and everything works just fine.  It's only when they are separated and located on different stages that the seekbar acts up.  When they are on the same stage, I can click on a point on the seekbar and the video jumps to that spot and continues to play and I can also scrub the seekbar, the video updates as I scrub, and when I release the mouse, the seekbar handle stays where I released the mouse.  When they on separate stages, the seekbar handle continues to follow the mouse movement without releasing it.  The video updates as the seekbar handle is moved due to it sticking to the mouse, but if I release the mouse, the handle is still moving with the mouse and the video is still being scrubbed.  Like I said, everything works great except for this and I have reached my limit with time spent on this issue.  Does anyone have any insight into this?
    Here's my code for the project.  This is my first AIR application, so I am coding it as I am learning, please be kind.
    import fl.video.*;
    import flash.display.*;
    import flash.desktop.*;
    import flash.events.*;
    import fl.video.MetadataEvent;
    import flash.geom.*;
    import flash.ui.Mouse;
    import flash.text.*;
    GLOBAL SETUP
    var flvControl:FLVPlayback;
    var MasterWindow = stage.nativeWindow;
    var screen1:Screen = Screen.screens[0];
    var screen2:Screen = Screen.screens[1];
    MASTER WINDOW SETUP
    this.loaderInfo.addEventListener(Event.COMPLETE,maximize);
    transControl.playPauseButt2.addEventListener(MouseEvent.CLICK, PlayButton);
    if (Screen.screens.length > 1){
              createVideoBKG();
              createVideoPlayer();
    GENERAL FUNCTIONS
    //Maximize the initial screen
    function maximize(e:Event) {
              MasterWindow.x = screen1.bounds.left
              MasterWindow.maximize();
              MasterWindow.stage.scaleMode = StageScaleMode.EXACT_FIT;
    //Hide Mouse Behind Video Window On Roll-Over
    function MouseRollOver(e:MouseEvent):void
              {          Mouse.hide()          }
    function MouseRollOut(e:MouseEvent):void
              {          Mouse.show()          }
    //Play-Pause Button Control
    function PlayButton(event:MouseEvent):void
                        if(transControl.playPauseButt2.currentFrame==1 ){
                                  transControl.playPauseButt2.gotoAndPlay(2);
                                  flvControl.play();
                        else {
                                  transControl.playPauseButt2.gotoAndPlay(1);
                                  flvControl.pause();
    function CloseWindow(e:MouseEvent):void
                        NativeApplication.nativeApplication.openedWindows[2].close();
    VIDEO BKG SETUP
    function createVideoBKG(e:Event = null):void{
              var newOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
              newOptions.type = NativeWindowType.LIGHTWEIGHT;
              newOptions.systemChrome = NativeWindowSystemChrome.NONE;
              newOptions.transparent = true;
              var videoBKG:NativeWindow = new NativeWindow(newOptions);
              if (Screen.screens.length > 1){
                        videoBKG.x = screen2.bounds.left;
              videoBKG.maximize();
              chromeSetup(videoBKG);
              videoBKG.activate();
    //Video BKG Chrome Setup
    function chromeSetup(currentWindow):void {
              var vidBKG = new video_bkg();
              vidBKG.name = "video_bkg2";
              vidBKG.addEventListener(MouseEvent.ROLL_OVER, MouseRollOver);
              vidBKG.addEventListener(MouseEvent.ROLL_OUT, MouseRollOut);
              currentWindow.stage.addChild(vidBKG);
    VIDEO Player SETUP
    function createVideoPlayer(e:Event = null):void{
              var newOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
              newOptions.type = NativeWindowType.LIGHTWEIGHT;
              newOptions.systemChrome = NativeWindowSystemChrome.NONE;
              newOptions.transparent = true;
              var videoPlayer:NativeWindow = new NativeWindow(newOptions);
              if (Screen.screens.length > 1){
                        videoPlayer.x = screen2.bounds.left;
                        videoPlayer.y = screen2.bounds.top;
                        videoPlayer.width = screen2.bounds.width;
                        videoPlayer.height = screen2.bounds.height;
                        videoPlayer.stage.scaleMode = StageScaleMode.NO_SCALE;
              videoPlayer.alwaysInFront = true;
              var DVR = new DVR_Player();
              DVR.name = "DVR";
              DVR.x = 0;
              DVR.y = 0;
              DVR.addEventListener(MouseEvent.ROLL_OVER, MouseRollOver);
              DVR.addEventListener(MouseEvent.ROLL_OUT, MouseRollOut);
              videoPlayer.stage.addChild(DVR);
                flvControl = DVR.display2;
              flvControl.width = 1280;
              flvControl.height = 720;
              flvControl.skin = null;
              flvControl.autoPlay=false;   
              flvControl.isLive=false;
              flvControl.fullScreenTakeOver = false;
              flvControl.align = VideoAlign.CENTER;
              flvControl.scaleMode = VideoScaleMode.NO_SCALE;
              flvControl.source = "olympics.f4v";
              flvControl.seekBar = transControl.seekbarContainer2.seeker;
              videoPlayer.activate();

    Does anyone have any ideas about this?

Maybe you are looking for