Importing BC4J project results in strange behaviours.

I found a strange behaviour in compiling BC4J projects wich imports another BC4J project.
Some of theese projects, when compiled, copy the xml/class tree of the imported project onto their directories some other don't.
The first behaviour is obvioulsy harmfull because of the number of copies it generates.
I didn't find any relevant difference between project wich behaves differently.
TIA
Tullio

Is there at least a description of the relate bug in order to understand when this problem comes out and than avoid it (if possible) ar watch it at least ?
Tks
Tullio

Similar Messages

  • Best way to import BC4J projects or packages?

    Hello
    This is a question on how to structure three BC4J Projects, where two of them refer to the third.
    Here is my question:
    I have a project "Model", which contains all entity objects and associations. It represents more or less the data model of the underlying database. This project is a sort of "library-project" which contains the common parts of the two other projects.
    The two other projects "Project1" and "Project2" each contain a set of specific view objects, view links and application modules to do the work they are intended to do. Both of them must import the "Model" project as they use the entity objects and associations, which are defined there.
    If "Model" were just a simple jar file, this would be easy: Just include the jar file as a library, and that's all. But as "Model" is in fact a BC4J project, things are getting more complicated.
    My solution now is to explicitely import all BC4J packages of "Model" to "Project1" and "Project2". This is neccessary in order to be able to refer to the entity objects of "Model" from the Wizards in "Project1" and "Project2".
    But this causes a real mess in "Project1" and "Project2" as all packages defined in Model are explicitely included to theese projects and all of them appear in the Navigator.
    What I really want, is to just include a sort of library (the "Model-Library") and to be able to refer to all BC4J objects defined in this library from the wizards.
    Is there a simple way to achive this? Is there a best way to get as near as possible to this? How do other developers solve this problem?
    Any hints are appreciated
    Frank

    Frank,
    BC4J design time has specific features to support exactly this use case, and your choice of organizing the projects this way is exactly the way the feature was intended.
    Use the BC4J Deployment wizard to produce a simple JAR archive for the "library module" that has your business model (EO's and Assocs)
    Then in Project1:
    [list=1]
    [*]Define a library, say called "BusinessModel" or whatever, that has the above-produced JAR file as its archive
    [*]Make sure "BusinessModel" library is added to Project1's library list
    [*]Use the project-level right-mouse option "Import Business Components..." to import the business module package. This will present a file dialog that allows you to navigate into the JAR file above as if it were a directory and drill down to select the packagename.xml file for the package of components you want to import.
    [list]
    Then, the common business model package (or packages, if required) appear in the system navigator as "read only" components and can be used in the wizards as you build your view and appmodule components in Project1.

  • Importing bc4j from jar in project

    Hi,
    since we have a complex application, we want to group application modules logically into smaller modules (submodules), which must be combined to yield more complex modules. Every submodule lives in its own project, so reusing a submodule in a more complex project implies that that submodule must be imported into the project hosting the more complex appmodule.
    Within a project, as soon as a BC4J module has been created (call it the "base module"), the "import business components" option becomes avaiable. With this, BC4J can be imported, e.g. from a jar file.
    Everything works fine, as long as JDeveoper is not exited. The imported views, viewlinks, etc. can be used in the datamodel of the base module, and the tester runs neatly on the compex applicatoin module, as well for the native as for the imported views.
    After the project has been rebuilt, everything has been saved, and JDev is exited, on restart, the imported BC package is still visible, but all views and links belonging to it are now gone, since an error occurs loading the BC4J xml file (strange since at first the xml file could obviously be parsed without problem). I include the error trace at the end of this message.
    Even though an additional classpath to the imported jar file has been set, and a library containing the imported jar has been defined and added to the new project, the load error persists.
    If the bc4j are not imported from jar, but directly, no such error occurs!
    Is this a known problem (in Jdev 9.0.3.1035) and are there any workarounds?
    Alex
    Error trace:
    oracle.jbo.dt.objects.JboException: XML load error. Line number: 1
    Object: [name of imported bc4j xml file]
    Project: [name of project files are imported to ]
    Start of root element expected.
         void oracle.jbo.dt.objects.JboException.throwException(java.lang.String, oracle.jbo.dt.objects.JboNamedObject, java.lang.Throwable)
              JboException.java:81
         void oracle.jbo.dt.objects.JboPackage.loadFromXMLFile(java.net.URL, java.io.InputStream)
              JboPackage.java:727
         void oracle.jbo.dt.objects.JboBaseObject.loadFromXMLFile()
              JboBaseObject.java:1874
         void oracle.jbo.dt.objects.JboPackage.loadFromXMLFile()
              JboPackage.java:675
         void oracle.jbo.dt.objects.JboPackage.checkForLoad()
              JboPackage.java:363
         oracle.jbo.dt.objects.JboNamedObject oracle.jbo.dt.objects.JboPackage.findContainedObjectByName(java.lang.String)
              JboPackage.java:352
         oracle.jbo.dt.objects.JboNamedObject oracle.jbo.dt.objects.JboPackage.findObjectByName(java.lang.String)
              JboPackage.java:1480
         oracle.jbo.dt.objects.JboNamedObject oracle.jbo.dt.objects.JboApplication.findContainerChildObject(oracle.jbo.dt.objects.JboPackage, java.lang.String)
              JboApplication.java:733
         oracle.jbo.dt.objects.JboNamedObject oracle.jbo.dt.objects.JboApplication.findObjectByName(java.lang.String)
              JboApplication.java:642
         oracle.jbo.dt.objects.JboNamedObject oracle.jbo.dt.objects.JboApplication.findObjectByName(java.lang.String, oracle.jbo.dt.objects.JboPackage)
              JboApplication.java:614
         void oracle.jbo.dt.objects.JboObjectReference.loadResolveReferencesXML(oracle.jbo.dt.objects.JboBaseObject)
              JboObjectReference.java:179
         oracle.jbo.dt.objects.JboNamedObject oracle.jbo.dt.objects.JboObjectReference.getReferencedObjectInternal(oracle.jbo.dt.objects.JboBaseObject)
              JboObjectReference.java:89
         oracle.jbo.dt.objects.JboView oracle.jbo.dt.objects.JboViewReference.getView()
              JboViewReference.java:53
         java.lang.String oracle.jbo.dt.objects.JboViewReference.getImageLoc(boolean)
              JboViewReference.java:205
         void oracle.jbo.dt.objects.JboAppModule.addStructurePaneNodes(oracle.jbo.dt.system.SysStructureNode)
              JboAppModule.java:1372
         oracle.jbo.dt.system.SysStructureNode oracle.jbo.dt.objects.JboBaseObject.getStructurePaneNode()
              JboBaseObject.java:1627
         void oracle.jbo.dt.ui.main.bced.BceDefTree.addDefTreeObjectNodes(oracle.jbo.dt.objects.JboBaseObject, javax.swing.tree.MutableTreeNode)
              BceDefTree.java:80
         void oracle.jbo.dt.ui.main.bced.BceDefTree.setJboObject(oracle.jbo.dt.objects.JboBaseObject)
              BceDefTree.java:53
         void oracle.jbo.dt.jdevx.ui.JdxExplorer.setContext(oracle.ide.addin.Context)
              JdxExplorer.java:113
         oracle.ide.explorer.Explorer oracle.ideimpl.explorer.ExplorerManagerImpl.getExplorerForHost(oracle.ide.addin.View, oracle.ide.addin.Context)
              ExplorerManagerImpl.java:571
         void oracle.ideimpl.explorer.ExplorerWindowImpl.viewSelectionChanged(oracle.ide.addin.Context)
              ExplorerWindowImpl.java:222
         void oracle.ide.addin.AbstractPinnable.viewSelectionChanged(oracle.ide.addin.ViewSelectionEvent)
              AbstractPinnable.java:179
         void oracle.ideimpl.explorer.ExplorerWindowImpl.viewSelectionChanged(oracle.ide.addin.ViewSelectionEvent)
              ExplorerWindowImpl.java:207
         void oracle.ide.addin.AbstractView.fireViewSelectionChanged(oracle.ide.addin.ViewSelectionEvent)
              AbstractView.java:413
         void oracle.ideimpl.navigator.NavigatorWindowImpl.fireViewSelectionChanged(oracle.ide.addin.ViewSelectionEvent)
              NavigatorWindowImpl.java:717
         void oracle.ideimpl.navigator.NavigatorWindowImpl$3.viewSelectionChanged(oracle.ide.addin.ViewSelectionEvent)
              NavigatorWindowImpl.java:997
         void oracle.ide.addin.AbstractView.fireViewSelectionChanged(oracle.ide.addin.ViewSelectionEvent)
              AbstractView.java:413
         void oracle.ideimpl.explorer.BaseTreeExplorer.actionPerformed(java.awt.event.ActionEvent)
              BaseTreeExplorer.java:1677
         void javax.swing.Timer.fireActionPerformed(java.awt.event.ActionEvent)
              Timer.java:150
         void javax.swing.Timer$DoPostEvent.run()
              Timer.java:108
         void java.awt.event.InvocationEvent.dispatch()
              InvocationEvent.java:154
         void java.awt.EventQueue.dispatchEvent(java.awt.AWTEvent)
              EventQueue.java:337
         boolean java.awt.EventDispatchThread.pumpOneEventForHierarchy(java.awt.Component)
              EventDispatchThread.java:131
         void java.awt.EventDispatchThread.pumpEventsForHierarchy(java.awt.Conditional, java.awt.Component)
              EventDispatchThread.java:98
         void java.awt.EventDispatchThread.pumpEvents(java.awt.Conditional)
              EventDispatchThread.java:93
         void java.awt.EventDispatchThread.run()
              EventDispatchThread.java:85

    There is a bug in 9.0.3 that occurs if the jar file you are importing is on a different drive letter than the one that your project is on. If the jar and your project are on the same drive then everything works ok. If they are not, the symptoms match the ones you are describing. The workaround is to relocate the jar file to the same drive. This has been fixed for future releases.
    Hope this helps.
    Ray

  • Library project errors and imports of projects using them

    So this is something that I have put up with in FB for a long time now, but I decided to try doing some research today to see if there is a workaround as it is very annoying. Unfortunately I couldn't find anything.
    I attempted to file a bug/feature request, but it turns out that for some unknown reason FB is the only Adobe application that gives a link to another url (http://bugs.adobe.com/flex/) and, today at least, the link is dead so I have to post here instead.
    The problem is with library projects (which I love by the way). I use them a great deal and for more than just creating standalone APIs. As do many others, I like to have the core of many of my cross-platform projects in a library so that I can create other ‘harness’ projects for different runtimes and use the same bulk code. This way I can just write code in each master project that is particular to that runtime be it air or web or whatever - this is a great bit of functionality that I would really miss were it not there.
    As a result of this workflow however, I am often working in the library project directly in order to update all versions of a project. The problem arises when there is an error in the library project. When this happens, all the projects reading from the library lose all linkages to the swc and as a result the problem tab fills up with hundreds of problems that don’t exist, because as far as those projects are now concerned the swc no longer exists.
    Now I understand why this happens but surely FB could be made to understand what is going on and override (what I assume is) the compiler’s behaviour, and just not display these errors.
    This whole thing is exacerbated by (and may not even be that big a problem where it not for) the fact that I am forced to turn off 'build automatically' due to the 4.7 crash bug that has been reported here numerous times. Because of this I tend to write large chunks of code between each compile so I don't instantly know what has broken.
    Please save the feature that I enjoy so much by either getting FB to deal with the situation better or by fixing the crash bug so I can use ‘build automatically’ again… or god forbid… fix both!! I can dream. J
    If anyone has any good tips regarding this please let me know.
    Many thanks,
    James

    Can I then delete the project from the hard drive (as it's now in the library?) or will that delete the whole thing forever?
    That depends on how you did import the projects.  If your images are referenced they might still be stored in the previous projects, but if your library is managed, then it will be save to delete the projects you already imported.

  • Strange behaviour on text insert into a HTML pane

    Hi all,
    I am trying to fix a problem on inserting a span tag into an existing html page (in an EDITABLE JEditorPane).
    The behaviour:
    Assuming the cells in a table (3 rows, 2 columns) are numbered from 1 to 6, with cell one being the top left most, cell 2 top right, cell 3 middle left, etc.
    1. Inserting the text "<span></span>" in cell 4 causes during any attempt to later type into cell 5 the characters to be appended instead into cell 4, directly after the close span tag.
    2. The insertion in the first place behaves strange. If I have the caret positioned for cell 5 so that I can insert there
    (via the function void javax.swing.text.html.HTMLEditorKit.insertHTML(HTML Document doc, int offset, String html, int popDepth, int pushDepth, Tag insertTag) )
    even though the caret position is visible in cell 5, the insertion seems to take place in cell 4.
    I can sort of compensate for this by adding 1 to the offset. However, then when inserting into a line of text, for example, "the quick red fox jumped over the lazy dog"
    I insert directly before the 'j' in 'jumped', the insertion looks like this "the quick red fox j<span>..</span>umped over the lazy dog"
    So that is no solution.
    IMPORTANT! Just to prove it is not the span tag causing the trouble, if this span tag already exists in a cell on 'Load' of the html file, the strange behaviour is not observed.
    Something is going wrong here. It is me? Or is it a bug?
    Please help!!
    Here is a test app, and the test html you can use (place in current directory).
    Please test like this:
    1. run application (the html should be loaded into the pane)
    2. the span tag is programmed to automatically insert at cell 4 (by using the +1 method on the insert)
    3. another span tag was already existing in the html file, at cell 8
    4. Attempt to type into cell 5
    result: the text appears instead at cell 4
    5. Type into cell 9
    result: the text correctly is entered into cell 9
    See the difference!!
    Help!
    The test java app:
    package small.test;
    import java.awt.BorderLayout;
    import java.awt.Container;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.StringReader;
    import javax.swing.JEditorPane;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.SwingUtilities;
    import javax.swing.text.JTextComponent;
    import javax.swing.text.html.HTML;
    import javax.swing.text.html.HTMLDocument;
    import javax.swing.text.html.HTMLEditorKit;
    import javax.swing.text.html.parser.ParserDelegator;
    public class HtmlInsertTest extends JEditorPane
         public HtmlInsertTest()
         public static void main(String args[])
              JFrame frame = new JFrame("Loading/Saving Example");
              Container content = frame.getContentPane();
              frame.setSize(600, 600);
              final HtmlInsertTest editorPane = new HtmlInsertTest();
              editorPane.setEditable(true);
              JScrollPane scrollPane = new JScrollPane(editorPane);
              content.add(scrollPane, BorderLayout.CENTER);
              editorPane.setEditorKit(new HTMLEditorKit());
              JPanel panel = new JPanel();
              content.add(panel, BorderLayout.SOUTH);
              frame.setSize(600, 600);
              doLoadCommand(editorPane);
              editorPane.insertHTML("<span>inserted text</span>", 84);
              frame.setVisible(true);
         public static String getHTML()
              return
              "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"+
              "<HTML>"+     "<HEAD>"+
              "     <META HTTP-EQUIV=\"CONTENT-TYPE\" CONTENT=\"text/html; charset=utf-8\">"+
              "     <TITLE></TITLE>"+          
              "</HEAD>"+
              "<BODY LANG=\"en-AU\" DIR=\"LTR\">"+
              "<P STYLE=\"margin-bottom: 0cm\">This is a test xhtml document. "+
         "     </P>"+
         "     <P STYLE=\"margin-bottom: 0cm\">"+
         "     </P>"+
         "     <P STYLE=\"margin-bottom: 0cm\">Here is a table:</P>"+
         "     <P STYLE=\"margin-bottom: 0cm\">"+
         "     </P>"+
         "     <p></p>"+
               "     <TABLE WIDTH=100% BORDER=1 BORDERCOLOR=\"#000000\" CELLPADDING=4 CELLSPACING=0>"+
         "          <TR VALIGN=TOP>"+
         "               <TD WIDTH=50%>"+
         "                    <P>It has</P>"+
         "               </TD>"+
         "               <TD WIDTH=50%>"+
         "                    <P>2 columns</P>"+
         "               </TD>"+
         "          </TR>"+
         "          <TR VALIGN=TOP>"+
         "               <TD WIDTH=50%><P>And 4 rows</P></TD>"+
         "               <TD WIDTH=50%><P></P></TD>"+
         "          </TR>"+
         "          <TR VALIGN=TOP>"+
         "               <TD WIDTH=50%><P></P></TD>"+
         "               <TD WIDTH=50%><P></P></TD>"+
         "          </TR>"+
         "          <TR VALIGN=TOP>"+
         "               <TD WIDTH=50%><P></P></TD>"+
         "               <TD WIDTH=50%><P><span>existing text</span></P></TD>"+
         "          </TR>"+
         "          <TR VALIGN=TOP>"+
         "               <TD WIDTH=50%><P></P></TD>"+
         "               <TD WIDTH=50%><P></P></TD>"+
         "          </TR>"+
         "     </TABLE>"+
         "     <P STYLE=\"margin-bottom: 0cm\">"+
         "     </P>"+
         "     <P STYLE=\"margin-bottom: 0cm\">"+
         "     </P>"+
         "     <P STYLE=\"margin-bottom: 0cm\">"+
         "     </P>"+
         "     <P STYLE=\"margin-bottom: 0cm\">We will test the drag and drop"+
         "     functionality with this document. "+
         "     </P>"+
         "     <P STYLE=\"margin-bottom: 0cm\">It will be loaded with the hlml editor.</P>"+
         "     <P STYLE=\"margin-bottom: 0cm\">"+
         "     </P>"+
         "     <P STYLE=\"margin-bottom: 0cm\">"+
         "     </P>"+
         "     </BODY>"+
         "     </HTML>";
         public static void doLoadCommand(JTextComponent textComponent)
              StringReader reader = null;
              try
                   System.out.println("Loading");
                   reader = new StringReader(getHTML());
                   // Create empty HTMLDocument to read into
                   HTMLEditorKit htmlKit = new HTMLEditorKit();
                   HTMLDocument htmlDoc = (HTMLDocument)htmlKit.createDefaultDocument();
                   // Create parser (javax.swing.text.html.parser.ParserDelegator)
                   HTMLEditorKit.Parser parser = new ParserDelegator();
                   // Get parser callback from document
                   HTMLEditorKit.ParserCallback callback = htmlDoc.getReader(0);
                   // Load it (true means to ignore character set)
                   parser.parse(reader, callback, true);
                   // Replace document
                   textComponent.setDocument(htmlDoc);
                   System.out.println("Loaded");
              catch (Exception exception)
                   System.out.println("Load oops");
                   exception.printStackTrace();
              finally
                   if (reader != null)
                        reader.close();
         public void insertHTML(String text, int offset)
              SwingUtilities.invokeLater(new insertAction(this, text, offset));
         class insertAction implements Runnable
              String text = "";
              int offset = 0;
              JEditorPane jEditorPane1 = null;
              public insertAction(JEditorPane _jEditorPane1, String _text, int _offset)
                   jEditorPane1 = _jEditorPane1;
                   text = _text;
                   offset = _offset;
              @Override
              public void run()
                   HTMLDocument doc = (HTMLDocument)jEditorPane1.getDocument();
                   HTMLEditorKit kit = (HTMLEditorKit)jEditorPane1.getEditorKit();
                   try
                        System.out.println("reading from string reader");
                        kit.insertHTML(     doc,
                                          offset,//+1
                                          text,
                                          0,//0
                                          0,//0
                                          HTML.Tag.SPAN);
                        System.out.println(jEditorPane1.getText());
                   catch (Exception e)
                        System.out.println("error inserting html: " + e);
    }Edited by: svaens on Jul 16, 2009 6:34 PM
    fix another stuffed up attempt at a SSCCE.

    Well, I know nothing about HTML in JEditorPanes. I have never been able to figure out how insertions work.
    My comment was a warning to others. Some people (like me) avoid answering posting of this type for reasons given in the JavaRanch link. Others will answer anyway. Other might first check the other site to see if they are wasting there time, but they can only do that if a link was posted with the original question.
    The only suggestion I have is to repost the question, (since this posting is now completely off topic) making sure to then respond to this posting stating that a fresh question has been asked so you don't get a discussion going on in two places.

  • Multiple connections in one BC4J Project

    I want to access several Databases from one BC4J-Project.
    For example I want to write an application, which collects data from one database, does some computation and stores the results in a second database.
    I would prefer to use BC4J-Components for both, the source and the target database, but unfortunately I can select only one connection per BC4J-Project.
    Has anyone got an idea, how I can access more than one database-connection from one BC4J-Project without having to write all the JDBC-Stuff on my own? JDev-Team, can you please give a hint?

    Among other things, the BC4J Configuration defines the name of the JDBC connection to use. To solve your problem, you can create two Configurations one for each database. The JDBC connection value will be the only different element between these two Configurations. To create a BC4J Configuration in JDeveloper, right click on the AppModule node and then click Configurations...,
    Use oracle.jbo.client.Configuration class to create AppModules connected to the database you want.,
    import oracle.jbo.*;
    import oracle.jbo.client.Configuration;
    String am = "demo.DemoModule"; // Fully-qualified application module name
    // Configuration name with JDBC connection to source database
    String cf1 = "DemoModuleSourceDb";
    ApplicationModule amSrc = Configuration.createRootApplicationModule(am,cf1);
    // Configuration name with JDBC connection to dest database
    String cf2 = "DemoModuleDestDb";
    ApplicationModule amDest = Configuration.createRootApplicationModule(am,cf2);
    Note that the AM name can also be different if you want.
    Hope this helps,
    Sathish.
    I want to access several Databases from one BC4J-Project.
    For example I want to write an application, which collects data from one database, does some computation and stores the results in a second database.
    I would prefer to use BC4J-Components for both, the source and the target database, but unfortunately I can select only one connection per BC4J-Project.
    Has anyone got an idea, how I can access more than one database-connection from one BC4J-Project without having to write all the JDBC-Stuff on my own? JDev-Team, can you please give a hint?

  • Strange behaviour whit custom JTextField and JToolTip

    Hello everyone. I hope I'm writing in the right section and sorry if I did not search for this issue but I really don't know which keywords I should use.
    I'm using NetBeans 6.1 on WinXP and JDK 1.6.0_07, I have a custom JTextField with regex validation: when you type something that don't mach regex it shows a JToolTip. This JToolTip should disappear when the text typed is finally correct, or when the textfield loses focus (see code below).
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.Point;
    import javax.swing.JToolTip;
    import javax.swing.Popup;
    import javax.swing.PopupFactory;
    public class MyJTextField extends javax.swing.JTextField implements FormComponent
    private static Popup popUpToolTip;
    private static PopupFactory popUpFactory = PopupFactory.getSharedInstance();
    private boolean isValidated = false;
    private String regEx = "a regex";
    public MyJTextField()
    this.addKeyListener(new java.awt.event.KeyAdapter()
    public void keyReleased(java.awt.event.KeyEvent evt)
    if(evt.getKeyCode()!=java.awt.event.KeyEvent.VK_ENTER)
    validateComponent();
    else if(evt.getKeyCode()==java.awt.event.KeyEvent.VK_ENTER)
    if(isValidated)
    ((Component)evt.getSource()).transferFocus();
    this.addFocusListener(new java.awt.event.FocusAdapter()
    public void focusLost(java.awt.event.FocusEvent evt)
    if(popUpToolTip!=null){popUpToolTip.hide();}
    public void validateComponent()
    if(text.matches(regex))
    isValidated = true;
    if(popUpToolTip!=null){popUpToolTip.hide();}
    else
    isValidated = false;
    if(popUpToolTip!=null){popUpToolTip.hide();}
    String error = "C'&egrave; un errore nella validazione di questo campo";
    JToolTip toolTip = createToolTip();
    toolTip.setTipText(error);
    popUpToolTip = null;
    popUpToolTip = popUpFactory.getPopup(
    this,
    toolTip,
    getLocationOnScreen().x,
    getLocationOnScreen().y - this.getPreferredSize().height -1
    popUpToolTip.show();
    }(I've cut it a bit, here's only the lines that involve JToolTip use)
    I have many of them in a form, and when the first tooltip appears (on the first textfield I type in) it never disappears, while nex textfields work just fine.It seems the first tooltip appearing can't be overwritten or something similar. If I use this same component on any other NetBeans project, everithing works without issues.
    I have some other custom components working the same way (JComboBox, JXDatePicker), and they had this "not disappearing tooltip" issue since I changed this
    popUpToolTip = popUpFactory.getPopup(this, toolTip, getLocationOnScreen().x, getLocationOnScreen().y - this.getPreferredSize().height -1);
    whit this
    popUpToolTip = popUpFactory.getPopup(null, toolTip, getLocationOnScreen().x, getLocationOnScreen().y - this.getPreferredSize().height -1);
    but if I try it on the JTextField all textfield's tooltips stay stuck there, not only the first one appeared (while other components still works fine).
    This thing is really driving me crazy. Someone has an hint (or a link to another thread) which could explain this strange behaviour?
    Thanks in advance.

    BoBear2681 wrote:
    Note that an SSCCE wouldn't require you to post any proprietary code.Hmmm... well, I'll try again to reproduce the issue and post an SSCCE.
    BoBear2681 wrote:
    That probably indicates that the problem is somewhere other than where you're currently looking.Yes, I suppose so. Maybe it's some interference between all the custom components I created, or maybe something else that apparently doesn't conern at all. If I cannot reproduce it in an SSCCE and I'll figure out what's the cause of this mess I'll post it here for future knowledge.
    Many thanks for your advices. :)

  • A strange behaviour throwing Threads via anonymous class technique

    Hi friends!
    I've noted a strange behaviour executing the next code:
    public class ResolAnonimes
         private int value;
         public ResolAnonimes(int value)
              this.value = value;
         public ResolAnonimes myMethod(int nThreads)
              final ResolAnonimes a = this;
              int nThreadsFor = nThreads - 1;
              for( int i=0; i < nThreadsFor; i++)
                   new Thread(){
                        public void run()
                                System.out.println(Thread.currentThread().getName() + " has begun processing");
                                     doSomethingWith(a);
                                System.out.println(Thread.currentThread().getName() + " has finished processing");
                   }.start();
                   this.value++;
              }//for loop
              return a;
         public static void doSomethingWith(ResolAnonimes a)
              System.out.println(a.value);
         public static void main(String Args[])
              ResolAnonimes first = new ResolAnonimes(1);
              ResolAnonimes result = first.myMethod(5);
    }When I execute it, that's the output I get:
    Thread-0 has begun processing
    2
    Thread-0 has finished processing
    Thread-0 has begun processing
    3
    Thread-0 has finished processing
    Thread-0 has begun processing
    4
    Thread-0 has finished processing
    Thread-0 has begun processing
    5
    Thread-0 has finished processingWhere's the "1" printed? It doesn't appear! It seems it has thrown only 4 threads, not 5.
    Am I doing anything wrong? Is it a bug?
    Can you help me, please?
    Thank you in advance.

    Oh I'm sorry. I was changing the code because of privacy rerasons and I finally didn't type what I want.
    Consider an array which all cells must be typed with the array lentgh. Moreover, the work is distributed by some threads.
    I'm refering to something like this:
    import java.util.Random;
    import java.util.LinkedList;
    public class MyArray
         private static int initialRow = 0;
         private static int lastRow = 0;
         private int[] vector;
         public MyArray(int size)
              vector = new int[size];
         public static boolean correctIndex(MyArray a )
              for(int i = 0; i< a.vector.length; i++)
                   if(a.vector[i] != a.vector.length)
                        return false;
              return true;
         public String toString()
              String s ="";
              for(int i=0; i < this.vector.length; i++)
                   s += this.vector[i] + " ";
              return s;
         public MyArray  operationWith(int nThreads)
              MyArray a = this;
              MyArray result = null;
              final Contenidor ctros = new Contenidor(new LinkedList());
              result = a.putTheIndexValue(nThreads, ctros);
              Thread consumerThread = new Thread( new Consumer( ctros, nThreads));
              consumerThread.start();
              try
                   consumerThread.join();
              catch(InterruptedException ie){}
              return result;
         public MyArray putTheIndexValue(int nThreads, Contenidor ctros) //Este metode encara es experimental
              final MyArray a = this;
              final MyArray result = new MyArray( a.vector.length);
              final Contenidor ctrosR = ctros;
              for(int i = 0; i < result.vector.length; i++)
                        result.vector= 0;
              int incRows = a.vector.length / nThreads - 1;
              initialRow = 0;
              lastRow= incRows;
              int nFilsFor = nThreads - 1;
              Thread[] vectorFils = new Thread[nThreads];
              for( int i=0; i < nFilsFor; i++)
                   /*vectorFils[i] = */ new Thread()
                                                 public void run()
                                                      System.out.println(Thread.currentThread().getName() + " has begun processing");
                                                      MyArray.putTheIndexValue( a, initialRow, lastRow);
                                                      System.out.println(Thread.currentThread().getName() + " has finished processing");
                                                      String s = Thread.currentThread().getName();
                                                      ctrosR.put(s);                         
                   vectorFils[i]*/.start();
                   initialRow = initialRow + 1;
                   lastRow = initialRow + incRows;
              new Thread()
                   public void run()
                        System.out.println(Thread.currentThread().getName() + " has begun processing");
                        MyArray.putTheIndexValue( a, initialRow, a.vector.length - 1);
                        System.out.println(Thread.currentThread().getName() + " has finished processing");
                        String s = Thread.currentThread().getName();
                        ctrosR.put(s);                         
                   vectorFils[i]*/.start();
              return result;
         public static void putTheIndexValue( MyArray a, int initialRow, int lastRow)
              for(int i = initialRow; i <= lastRow; i++)
                   a.vector[i] = a.vector.length;
    public class Interface
         public static void main(String Args[])
              int nThreads = 2;
              int arraySize = 5;
              MyArray ma = new MyArray(arraySize);
              MyArray result = ma.operationWith(nThreads);
              if(MyArray.correctIndex(result))
                   System.out.println("The operation has been done correctly");
              else
                   System.out.println("THE OPERATION HAS NOT BEEN CORRECTLY!");
              System.out.println(ma.toString());
    public class Consumer implements Runnable
         private Contenidor ctros;
         private int nFils;
         public Consumer(Contenidor ctros, int nFils)
              this.ctros = ctros;
              this.nFils = nFils;
         public void run()
              System.out.println(Thread.currentThread().getName() + "is waiting the total process to be finished");
              for(int i = 0; i< nFils; i++)
                      System.out.println( Thread.currentThread() + " is waiting a thread to give me its chunk");
                      String s = ctros.get();
                      System.out.println( Thread.currentThread() + ":  " + s + " has already given me its chunk");
                 System.out.println(Thread.currentThread().getName() + "says all threads have finished");
    import java.util.Queue;
    import java.util.LinkedList;
    public class Contenidor
        private int nDadesNoves;
        private Queue contenidor;
        public Contenidor(Queue contenidor)
            this.contenidor = contenidor;
            this.nDadesNoves = 0;
        public synchronized String get()
            while(nDadesNoves < 1)
                try
                    wait();
                catch(InterruptedException ie){}
            nDadesNoves--;
            notifyAll();
            return (String)contenidor.poll();
        public synchronized void put(String s)
            contenidor.offer(s);
            nDadesNoves++;
            notifyAll();
    }The output I get sometimes is:
    THE OPERATION HAS NOT BEEN CORRECTLY!
    5 5 5 5 5And I get also sometimes that:
    THE OPERATION HAS NOT BEEN CORRECTLY!
    0 5 5 5 5That's what I wanted to refer last post. I think I'm doing a correct synchronization. Am I wrong?
    I don't understand that behaviour.
    Anyone can help me, please?
    Thank you in advance.

  • Strange behaviour when running parameterized test

    Hello,
    I am using Flex 4.5 and FlexUnit 4.1 inside of the Flashdevelop IDE and I am experiencing some very strange behaviour.
    If I have 5 parameters to my test the test runs fine. When I add a sixth parameter of the type Array, I get the following error:
    "TypeError: Error #1009: Cannot access a property or method of a null object reference."
    Please see below for my example code.
    The following parameterized test case runs without a problem:
    package {
        import org.flexunit.runners.Parameterized;
        [RunWith('org.flexunit.runners.Parameterized')]
        public class ParameterizedTest {
            [Parameters]
            public static var testData:Array = [
                [1,1,new Array(),1,1]
            public function ParameterizedTest(
                param1:uint,
                param2:uint,
                param3:Array,
                param4:uint,
                param5:uint
            ):void {
            [Test]
            public function testOne():void {
                // Test to go here.
    When I add an Array as the sixth parameter :
    package {
        import org.flexunit.runners.Parameterized;
        [RunWith('org.flexunit.runners.Parameterized')]
        public class ParameterizedTest {
            [Parameters]
            public static var testData:Array = [
                [1,1,new Array(),1,1,new Array()]
            public function ParameterizedTest(
                param1:uint,
                param2:uint,
                param3:Array,
                param4:uint,
                param5:uint,
                param6:Array
            ):void {
            [Test]
            public function testOne():void {
                // Test to go here.
    I get this error :
    com.berog.proj_drum_machine.tests.matrix_test_suite.test_cases::MatrixConstructorTest.test One (1,1,,1,1,) .
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at flex.lang.reflect::Constructor/newInstanceApply()[E:\hudson\jobs\FlexUnit4-Flex4.1\worksp ace\FlexUnit4\src\flex\lang\reflect\Constructor.as:253]
        at TestClassRunnerForParameters/createTest()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\Flex Unit4\src\org\flexunit\runners\Parameterized.as:455]
        at org.flexunit.runners::BlockFlexUnit4ClassRunner/methodBlock()[E:\hudson\jobs\FlexUnit4-Fl ex4.1\workspace\FlexUnit4\src\org\flexunit\runners\BlockFlexUnit4ClassRunner.as:314]
        at org.flexunit.runners::BlockFlexUnit4ClassRunner/runChild()[E:\hudson\jobs\FlexUnit4-Flex4 .1\workspace\FlexUnit4\src\org\flexunit\runners\BlockFlexUnit4ClassRunner.as:152]
        at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
        at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
        at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
        at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
        at org.flexunit.runners::Parameterized/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runners\Parameterized.as:273]
        at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
        at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
        at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
        at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
        at org.flexunit.runners::Suite/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUni t4\src\org\flexunit\runners\Suite.as:151]
        at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
        at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
        at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
        at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
        at org.flexunit.runners::Suite/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUni t4\src\org\flexunit\runners\Suite.as:151]
        at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
        at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
        at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
        at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
        at org.flexunit.runner::FlexUnitCore/beginRunnerExecution()[E:\hudson\jobs\FlexUnit4-Flex4.1 \workspace\FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:348]
        at org.flexunit.runner::FlexUnitCore/runRunner()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\ FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:307]
        at org.flexunit.runner::FlexUnitCore/runRequest()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:283]
        at org.flexunit.runner::FlexUnitCore/runClasses()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:269]
        at Function/http://adobe.com/AS3/2006/builtin::apply()
        at org.flexunit.runner::FlexUnitCore/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUn it4\src\org\flexunit\runner\FlexUnitCore.as:245]
        at com.berog.proj_drum_machine.tests::TestMain()[E:\Actionscript\projects\DrumMachine\src\co m\berog\proj_drum_machine\tests\TestMain.as:18]
    com.berog.proj_drum_machine.tests.matrix_test_suite.test_cases::MatrixConstructorTest.test One (1,1,,1,1,) E
    Time: 0.013
    There was 1 failure:
    1 com.berog.proj_drum_machine.tests.matrix_test_suite.test_cases::MatrixConstructorTest.tes tOne (1,1,,1,1,) TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at flex.lang.reflect::Constructor/newInstanceApply()[E:\hudson\jobs\FlexUnit4-Flex4.1\worksp ace\FlexUnit4\src\flex\lang\reflect\Constructor.as:253]
        at TestClassRunnerForParameters/createTest()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\Flex Unit4\src\org\flexunit\runners\Parameterized.as:455]
        at org.flexunit.runners::BlockFlexUnit4ClassRunner/methodBlock()[E:\hudson\jobs\FlexUnit4-Fl ex4.1\workspace\FlexUnit4\src\org\flexunit\runners\BlockFlexUnit4ClassRunner.as:314]
        at org.flexunit.runners::BlockFlexUnit4ClassRunner/runChild()[E:\hudson\jobs\FlexUnit4-Flex4 .1\workspace\FlexUnit4\src\org\flexunit\runners\BlockFlexUnit4ClassRunner.as:152]
        at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
        at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
        at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
        at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
        at org.flexunit.runners::Parameterized/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runners\Parameterized.as:273]
        at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
        at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
        at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
        at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
        at org.flexunit.runners::Suite/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUni t4\src\org\flexunit\runners\Suite.as:151]
        at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
        at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
        at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
        at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
        at org.flexunit.runners::Suite/runChild()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUni t4\src\org\flexunit\runners\Suite.as:151]
        at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[E:\hudson\jobs\FlexUni t4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as: 82]
        at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( )[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\ statements\StatementSequencer.as:141]
        at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[E:\hudson\jobs\F lexUnit4-Flex4.1\workspace\FlexUnit4\src\org\flexunit\internals\runners\statements\Stateme ntSequencer.as:109]
        at org.flexunit.runners::ParentRunner/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexU nit4\src\org\flexunit\runners\ParentRunner.as:483]
        at org.flexunit.runner::FlexUnitCore/beginRunnerExecution()[E:\hudson\jobs\FlexUnit4-Flex4.1 \workspace\FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:348]
        at org.flexunit.runner::FlexUnitCore/runRunner()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\ FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:307]
        at org.flexunit.runner::FlexUnitCore/runRequest()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:283]
        at org.flexunit.runner::FlexUnitCore/runClasses()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace \FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:269]
        at Function/http://adobe.com/AS3/2006/builtin::apply()
        at org.flexunit.runner::FlexUnitCore/run()[E:\hudson\jobs\FlexUnit4-Flex4.1\workspace\FlexUn it4\src\org\flexunit\runner\FlexUnitCore.as:245]
        at com.berog.proj_drum_machine.tests::TestMain()[E:\Actionscript\projects\DrumMachine\src\co m\berog\proj_drum_machine\tests\TestMain.as:18]
    FAILURES!!! Tests run: 1, 1 Failures:
    Can anyone help me?

    Actually, I do see what's wrong.
    When you call a method in the ActionScript universe, you can can usually do a function.apply() and pass it a variable number of args. Unfortunately, constructors are the one type of method where this doesn't work. You can't actually do an apply() so we have to fake it by having a map of static functions which each know how to apply a given number of arguments to the constructor. There is a check in the code that tests if the number of arguments you have exceeds what our static map knows how to apply.
    It looks like that check should have thrown the error:
    throw new ArgumentError("Sorry, we can't support constructors with more than " + argMap.length + " args out of the box... yes, its dumb, take a look at Constructor.as to modify on your own");
    It didn't and I am guessing its because there is a border condition here. So, what happening is that we only support up to 5 arguments right now. That number is arbitrary. When it was written it just seemed like a reasonable number, however, this class was written before Parameterized testing was introduced.
    Your three choices right now would be to use the TestNG style of Parameterized testing, which uses functions and not constructor args so it will not suffer this same fate, change the code and compile flexunit for yourself, or we could put a patched Constructor class in your project which fixes it. Longer term, I would like you to file a bug that we should increase the number to 10 or some other quasi-reasonable number. We will never be able to support an infinite number and we will always need to pick som arbitrary line in the sand. It just seems our line should be farther out.
    Mike

  • Strange behaviour in "Do - Until" statement

    Hi,
    I'm having a strange behaviour in a script I'm creating. The purpose of the script is to update some files in some folders. In the case that more folders need to use the script, I'm importing the folders name and path from a CSV file (much easier to read
    it from there instead of hardcoding the folders in the code). As you can see, I add a number at the beginning of the folder's name, and then I let them choose which folder number do they want to update.
    # Import from CSV File
    $name = @()
    $path = @()
    $bkpPath = @()
    Import-Csv $AppsFile |
    ForEach-Object {
    $name += $_.Name
    $path += $_.Path
    $bkpPath += $_.bkpPath
    Write-Host "Choose the folder to update:"
    Write-Host ""
    $count = 1
    foreach ($n in $name) {
    Write-Host $count " - " $n
    $count += 1
    Do {$opt = read-host -prompt "Enter the option number"}
    Until ($opt -lt $count -AND $opt -gt 0)
    The problem appears when I started debuging the script, and try to input strange characters. The idea of the "Do - Until" statement, is that the user enters a loop until they choose a correct option. It works ok when it doesn't let you input letters,
    or numbers outside the range I'm using.
    The strange behaviour appears when I enter for example "0." (The important part is the DOT after the zero). There, it sends me to the last option in my CSV file. If I put "<number>.", it reads it as if it were "<number>".
    And if I input a number out of range plus a final dot, it breaks my script (instead of just keep looping as it's supposed to).
    Does anyone even understand the issue? =P It's really strange, I don't know if there is another way to limit the input...
    Thanks,
    Regards

    $opt is a string, and you're trying to compare it to numbers, which is probably going to give you headaches.  I tend to write those types of loops like this:
    $opt = $null
    while ($true)
    $string = read-host -prompt "Enter the option number"
    if ([int]::TryParse($string, [ref]$opt) -and $opt -lt $count -and $opt -gt 0)
    break
    Simply because the validation can get kind of complex sometimes, and I think it's ugly to jam it in after an "until" statement, even though the end result is the same.

  • Strange behaviour of Mouse-Events and Range size

    Hello,
    i found a strange behaviour of the Paragraph-Ranges in Word and can't explain this myself.
    I have a add-in with a Custom Task Pane "UserControl1" and a button "Button1":
    dropbox.com/s/zz2m0out5rvds0m/word.jpg
    This is the Code for the user control:
    public partial class UserControl1 : UserControl
    public UserControl1()
    InitializeComponent();
    private void button1_Click(object sender, EventArgs e)
    showRanges();
    private void button1_MouseEnter(object sender, EventArgs e)
    showRanges();
    private void showRanges()
    Debug.WriteLine("-------------------------------------");
    foreach (Microsoft.Office.Interop.Word.Paragraph para in Globals.ThisAddIn.Application.ActiveDocument.Paragraphs)
    Debug.WriteLine(para.Range.Start.ToString() + " - " + para.Range.End.ToString() + " | " + para.Range.Text.ToString());
    The mouse-enter and mouse-click events of the button, prints out the ranges of the current paragraphs. In this example it outputs:
    0 - 15 | The first line
    15 - 32 | And a second one
    Thats fine!
    And now the strange stuff starts: When i change something in the first line in the document like "The VERY first line" and use the button again, i got different range outputs for mouse-enter and mouse-click events.
    mouse-enter event (wrong ranges):
    -------------------------------------0 - 143 | The VERY first line
    143 - 160 | And a second one
    mouse-click event (correct ranges):
    0 - 20 | The VERY first line
    20 - 37 | And a second one
    Why the hell I get wrong Ranges when I use the mouse-enter event??? (When I enter the button with mouse a second time, it shows the correct ranges again).

    Hi Torben,
    What is Word version?
    According to my test in Word 2013, the code you provided works fine for me.
    I changed the code as below:
    private void showRanges(string eventname)
    Debug.WriteLine(eventname + "-------------------------------------");
    foreach (Microsoft.Office.Interop.Word.Paragraph para in Globals.ThisAddIn.Application.ActiveDocument.Paragraphs)
    Debug.WriteLine(para.Range.Start.ToString() + " - " + para.Range.End.ToString() + " | " + para.Range.Text.ToString());
    private void button1_MouseEnter(object sender, EventArgs e)
    showRanges("Button MouseEnter");
    private void button1_Click(object sender, EventArgs e)
    showRanges("Button Click");
    The document:
    The output:
    The result is same.
    There might be something else at the end of the first line.
    If you change current document to .zip and find document.xml, what does it look like?
    Here is my document.xml:
    <w:body>
    <w:p w:rsidR="001347D9" w:rsidRPr="001511D8" w:rsidRDefault="001511D8">
    <w:pPr>
    <w:rPr>
    <w:sz w:val="72"/><w:szCs w:val="72"/>
    </w:rPr>
    </w:pPr>
    <w:r w:rsidRPr="001511D8">
    <w:rPr>
    <w:sz w:val="72"/>
    <w:szCs w:val="72"/>
    </w:rPr>
    <w:t>The VERY first line</w:t>
    </w:r>
    </w:p>
    <w:p w:rsidR="001511D8" w:rsidRPr="001511D8" w:rsidRDefault="001511D8" w:rsidP="001511D8">
    <w:pPr>
    <w:rPr>
    <w:sz w:val="72"/><w:szCs w:val="72"/>
    </w:rPr>
    </w:pPr>
    <w:r w:rsidRPr="001511D8">
    <w:rPr>
    <w:sz w:val="72"/>
    <w:szCs w:val="72"/>
    </w:rPr>
    <w:t>And a second one</w:t>
    </w:r>
    <w:bookmarkStart w:id="0" w:name="_GoBack"/>
    <w:bookmarkEnd w:id="0"/>
    </w:p>
    <w:sectPr w:rsidR="001511D8" w:rsidRPr="001511D8">
    <w:pgSz w:w="12240" w:h="15840"/>
    <w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="720" w:footer="720" w:gutter="0"/>
    <w:cols w:space="720"/>
    <w:docGrid w:linePitch="360"/>
    </w:sectPr>
    </w:body>
    Is there anything different?
    I have uploaded the sample document for your test, please check:
    https://onedrive.live.com/redir?resid=AD77AE76D657E280!166&authkey=!AFfIP0eVTDQdMAc&ithint=file%2cdocx
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Strange behaviour of FileOpenPicker (Crashes)

    Hello,
    I have a strange behaviour of my implementation of FileOpenPicker (use it to select an image file). My Implementation works just fine when debugging my app on my device (Samsung Ativ S with WP 8.1), but when I start my app directly on the phone without debugging
    the FileOpenPicker crashes when calling (I can see the Picker just for a moment..)
    openPicker.PickSingleFileAndContinue()
    I have implemented IFileOpenPickerContinuable on to different pages. I have this strange behaviour only through one of the pages.
    BR,
    juvi
    IFileOpenPickerContinuable
    IFileOpenPickerContinuable

    Hi juvi123,
    Based on your description, I can see that your app works well with debugging but it crashs without debugging. I wonder if you have tried the realse mode. Can you get the same result in the realse mode? I will recommand you uninstall the app on your device,
    then deploy it again to see if you can get the right result.
    Besides, according to the behaviour, it seems that you think this openPicker.PickSingleFileAndContinue() line causes the crash. It may be not caused by this line. So it will be better if you can post the reproduce project and your OS version in here.
    At same time I hope you can do some test in your side to help find the issue, first please try to use the emulator and a different device to test if you can reproduce it. Then since this strange behaviour only happens in one of the pages,
    please try to check the difference between this crash page and others normal pages. You can try to reduce the functions of the crash page to help narrow down this issue.
    Best Regards,
    Amy Peng
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • APEX Listener and EPG - strange behaviour

    Hi
    For some years, I've used EPG for APEX but have struggled with performance particularly as I can have up to 150 student developers using at any one time.
    I do a fair amount of work using ORDImage and have successfully developed APEX applications to upload image files and display full-size and thumbnail images.
    After upgrading to APEX 4.1 (from 4.0), I decided to install APEX Listener standalone.
    Before I did so I checked that my applications still worked in 4.1 and they did.
    However, just installing APEX Listener but not configuring it (yet) has meant that my image display in a report using a procedure based on wpg_docload.download_file( l_ordimage_image.source.localData ) no longer works in EPG - the images are not displayed.
    Configuring APEX Listener and running the same application through that DOES display the images.
    So this part of the application works under APEX Listener but not under EPG.
    My application also allows users to upload images from APEX_APPLICATION_FILES using standard code. Under APEX Listener after uploading, I'm left with a blank page with a wwv_flow.accept URL although the image does indeed upload. Under EPG it works as expected and I get a success confirmation.
    So this part of the application works under EPG but not under APEX Listener.
    Has anyone else come across different behaviour depending on the mode of connection?
    Thanks
    Brian
    [Oracle EE 11gR2, Windows Server 2008R2, APEX 4.1, APEX Listener 1.1.3]

    Hi Brian,
    it sounds like you have both EPG and APEX Listener running on the same machine, so your problem might result from a port conflict. Note that both services use TCP port 8080 as default.
    At least a port conflict would explain the strange behaviour in your case, some things working on one web server and some on the other.
    Some parts of your initial post hint to that direction, e.g.
    However, just installing APEX Listener but not configuring it (yet) has meant that my image display in a report using a procedure based on >wpg_docload.download_file( l_ordimage_image.source.localData ) no longer works in EPG - the images are not displayed.... because the APEX Listener only interfere with the EPG if it is at least running on the same machine as your database and furthermore, if it is unconfigured in terms of ist database connection, a port conflict might be the only way it could cause anything like that.
    However, if you are sure that's not the issue, please check if you see any error in the APEX Listener's log for the following action you performed:
    My application also allows users to upload images from APEX_APPLICATION_FILES using standard code. Under APEX Listener after uploading, I'm left with a blank >page with a wwv_flow.accept URL although the image does indeed uploadIf you actually see just a blank screen, something very bad must have happened and you should see some kind of stack trace there.
    For further investigations, if necessary, it would be helpful to know how you deployed or started your APEX Listener and which JDK version you use.
    For the moment, I still think the port conflict is my best guess.
    You could avoid it by either changing the port for EPG (I'd not recommend that if you have other users still using it) or by changing the port for your APEX Listener.
    -Udo

  • I am trying to import BPM Project.zip file into Oracle enterpriserepository

    I am trying to import BPM Project.zip file into Oracle enterpriserepository from admin tab.
    I am getting the following exception. please help if any one know the solution.
    Performing import...
    Import Failed: Error [100]: An unknown server-side error occurred. Please record stack trace (if available) and contact technical support.
    com.flashline.exception.LoggableException: trouble parsing file in import bundle: SampleWScall/activityGuide.agdl
         at com.flashline.cmee.openapi.service.subsystem.impexp.XMLTranslator.decode(XMLTranslator.java:157)
         at com.flashline.cmee.openapi.service.subsystem.impexp.ImportJob.doJob(ImportJob.java:74)
         at com.flashline.cmee.openapi.service.subsystem.impexp.AbstractJob.perform(AbstractJob.java:75)
         at com.flashline.cmee.openapi.service.subsystem.impexp.JobThread.run(JobThread.java:41)
    Audit results stored in:
    C:\Users\AVINAS~1.YEL\AppData\Local\Temp\import-4705112223687937017.log
    Audit for [Import job.] created on [2012-09-24 11:53:59 IST].
    2012-09-24 11:53:59 IST - Adding Import job with ID=[50403] to job queue.
    Thanks in Advance.

    Hi
    Why are you trying to import BPM zip file are you trying to configure the out of the box workflows?
    They are something that need to be deployed from the process admin on BPM.
    There would be the .exp file you would need as its BPM 10g that you would need to use.

  • Strange behaviour of Runtime.getRuntime().exec(command)

    hello guys,
    i wrote a program which executes some commands in commandline (actually tried multiple stuff.)
    what did i try?
    open "cmd.exe" manually (administrator)
    type "echo %PROCESSOR_ARCHITECTURE%" and hit enter, which returns me
    "AMD64"
    type "java -version" and hit enter, which returns me:
    "java version "1.6.0_10-beta"
    Java(TM) SE Runtime Environment (build 1.6.0_10-beta-b25)
    Java HotSpot(TM) 64-Bit Server VM (build 11.0-b12, mixed mode)"
    type "reg query "HKLM\SOFTWARE\7-zip"" returns me:
    HKEY_LOCAL_MACHINE\SOFTWARE\7-zip
    Path REG_SZ C:\Program Files\7-Zip\
    i wrote two functions to execute an command
    1) simply calls exec and reads errin and stdout from the process started:
    public static String execute(String command) {
              String result = "";
              try {
                   // Execute a command
                   Process child = Runtime.getRuntime().exec(command);
                   // Read from an input stream
                   InputStream in = child.getInputStream();
                   int c;
                   while ((c = in.read()) != -1) {
                        result += ((char) c);
                   in.close();
                   in = child.getErrorStream();
                   while ((c = in.read()) != -1) {
                        result += ((char) c);
                   in.close();
              } catch (IOException e) {
              return result;
         }the second function allows me to send multiple commands to the cmd
    public static String exec(String[] commands) {
              String line;
              String result = "";
              OutputStream stdin = null;
              InputStream stderr = null;
              InputStream stdout = null;
              // launch EXE and grab stdin/stdout and stderr
              try {
                   Process process;
                   process = Runtime.getRuntime().exec("cmd.exe");
                   stdin = process.getOutputStream();
                   stderr = process.getErrorStream();
                   stdout = process.getInputStream();
                   // "write" the parms into stdin
                   for (int i = 0; i < commands.length; i++) {
                        line = commands[i] + "\n";
                        stdin.write(line.getBytes());
                        stdin.flush();
                   stdin.close();
                   // clean up if any output in stdout
                   BufferedReader brCleanUp = new BufferedReader(
                             new InputStreamReader(stdout));
                   while ((line = brCleanUp.readLine()) != null) {
                        result += line + "\n";
                   brCleanUp.close();
                   // clean up if any output in stderr
                   brCleanUp = new BufferedReader(new InputStreamReader(stderr));
                   while ((line = brCleanUp.readLine()) != null) {
                        result += "ERR: " + line + "\n";
                   brCleanUp.close();
              } catch (IOException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              return result;
         }so i try to execute the commands from above (yes, i am using \\ and \" in java)
    (1) "echo %PROCESSOR_ARCHITECTURE%"
    (2) "java -version"
    (3) "reg query "HKLM\SOFTWARE\7-zip""
    the first function returns me (note that ALL results are different from the stuff above!):
    (1) "" <-- empty ?!
    (2) java version "1.6.0_11"
    Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
    Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
    (3) ERROR: The system was unable to find the specified registry key or value.
    the second function returns me:
    (1) x86 <-- huh? i have AMD64
    (2) java version "1.6.0_11"
    Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
    Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
    (3) ERROR: The system was unable to find the specified registry key or value.
    horray! in this version the java version is correct! processor architecture is not empty but totally incorrect and the reg query is still err.
    any help is wellcome
    note: i only put stuff here, which returns me strange behaviour, most things are working correct with my functions (using the Runtime.getRuntime().exec(command); code)
    note2: "reg query "HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0" /t REG_SZ" IS working, so why are "some" queries result in ERR, while they are working if typed by hand in cmd.exe?

    ok, i exported a jar file and execute it from cmd:
    java -jar myjar.jar
    now the output is:
    (1) "" if called by version 1, possible to retrieve by version 2 (no clue why!)
    (2) "java version "1.6.0_10-beta"
    Java(TM) SE Runtime Environment (build 1.6.0_10-beta-b25)
    Java HotSpot(TM) 64-Bit Server VM (build 11.0-b12, mixed mode)"
    (3) C:\Program Files\7-Zip\
    so all three problems are gone! (but its a hard way, as i need both functions and parse a lot of text... :/ )
    thanks for the tip, that eclipse changes variables (i really did not knew this one...)

Maybe you are looking for

  • Unable to insert hyperlinks in Exchange 2007 OWA messages

    Hi, we have recently moved to Exchange 2007 OWA and users are unable to insert links to shared files on the network.  I was wondering if there might be something in our Windows 7 GPO that is preventing this from happening?

  • A translation box disappeared - could it be related to Google chrome?

    Before i updated to the latesdt Firefox i had a "translation" box on my bar. Since then it has disappeared. Could it be related to Google Chrome? My operating system is Windows XP pro in Hebrew. Thank you shimsar

  • Database Instance vs. Central Instance

    Hi, Is there any formal recommendation by SAP to install the central instance on the same server where the database instance is also installed? What would be the trade-off of keeping both on the same machine instead of installing the central instance

  • IZO-146 11G ADVANCED PL/SQL

    PLEASE SUGGEST SOME BOOKS TO PREPARE FOR OCP I.E IZO-146 11G ADVANCED PL/SQL.. PLEASE GIVE SOME RELEVANT BOOK NAMES WHERE ALL THE TOPICS ARE PRESENT THANK YOU ALL

  • Office 2011 doesn't working properly on OS X Mavericks

    Well, I have a MacBook Pro 15 inch retina display with 2.3 GHz quad core and 8GB of RAM + 256GB Flash memory. Since i am a school boy and need an office application, I bought a genuine Microsoft office 2011 for Mac version 14.0.0.0 software. After I