Compile mystery

I have a real strange problem. I have programmed a computer game, called pong. For the animation I use a canvas and some pictures (gif). Every x seconds the canvas will refresh with the pictures on another place, so it seems the move.
Now the problem. When I compile the java files and run the program everything works fine! But when I close the dos-box and I open it again and I wanna start immediately the class files (without compiling) the GUI starts up with the canvas but without the pictures on it.... So, I compile the java files again and I run the program again and everything works fine. So I have to compile every time my java files before it works. When I'd like to start the game just from the allready compiled class files, the pictures are not visible on the screen.
Could somebody help me out of this strange mystery??
Thanks, Sven

I'm using JDK version 1.3.1....
And about the environment, I don't know exactly what you mean.... I just open in Windowx XP the command prompt, I set the classpath to the right directory and then I wanna launch the class files without compiling. But then the canvas doesn't show the pictures....

Similar Messages

  • Mysterious Error 1003 in COMPILED rtexe

    My code WORKS PERFECTLY under LabVIEW 8.6 (and LVRT 8.6).
    It fails under LabVIEW 2010 (with LVRT 2010).
    Here's what I'm trying to do:
    My program uses "plug-ins" - stand-alone VIs to do some calculation during data acquisition.
    For example, there is a measured SPEED channel and a measured TORQUE channel.
    A plug-in VI called POWER calculates speed * torque / 5252.1 and produces POWER.
    This is then treated just like it was another measured channel, they can record it, plot it, set alarms on it, anything they can do with a real measured channel, they can do with this artificial channel.
    I'm sampling at 10 Hz, each sample causes a run of the plug-in and produces a new POWER sample.
    The plugins use a TYPEDEF (called "Units") that has various units defined ("Hp", "kW", "Lb/hr", "ppm", etc).
    They might use a subVI or two.  I've made sure those are in the compiled executable.
    The Real-Time program (called RTEC) does all the sampling, from various PXI boards and UDP sources.  The HOST program calls for a channel called POWER, and provides a "signature" (hash value) for the VI that is on the host machine. RTEC compares the signature sent with it's own signature on file and decides if the version is the same.  If not, it asks the host to send the whole VI (which is does, as a text block), and stores the VI file locally, along with the signature.
    RTEC does the sampling and sends the data to the host.  The host records it into a disk file.  Along with the data itself, a header (containing setup information) is part of the data file, and also a copy of the plug-in VIs themselves.  I do this to guarantee that the calculation used to produce the data is preserved as it is.
    When reviewing the file, the user can edit some things (scale factors for instance) and re-process the data, that means re-running the plugins on the host. 
    The critical point here is that these are plug-ins - I do not want the user to have to open the main project and insert some vI into the project and build a source distribution.
    The way it works now is that the user can create his subVI from a template.  The template has the workings except for the calculation itself.  ALl he has to do is specify that he wants "Engine Speed" in RPM and "Engine Torque" in Ft-lb, and it produces results in "Hp".  He then does the multiplication, saves the VI, drops it into a specific folder on the host, and all else is automatic.
    ALL THIS WORKS PERFECTLY in LV 8.6.
    However, in LV2010, I get an error -1003 in a compiled RTEXE.  If I run the RTEC program from the host environment (just clicking on the RUN arrow on the host), all is well.  But we need to run compiled, as every host will not have a DevSys.
    I have boiled it down to a simple test case - see attached pic.
    If I OPEN the VI REF without a TYPE specifier, it works in either case (compiled or RTEXE), but I cannot later run the reference since it's not STRICT.
    I tried both a GENERIC and a TEMPLATE reference, since I was first thinking that one was working and not the other, but they seem identical now.
    The program works fine in the DevSys, but compile it to an RTEXE and I get error 1003 for the latter two cases.
    I have read <a href="http://digital.ni.com/public.nsf/allkb/10F1D411ACBAD3D9862572FF0064C801">this</a>, <href="http://digital.ni.com/public.nsf/allkb/410F2EC66F60F9B0862569EE006F4FA0">this</a> , and <a href="http://digital.ni.com/public.nsf/allkb/0537EAF7F167718386256A96005D1DBC">this</a>.
    What I get out of those is that maybe this is a "security" enhancement: it's no longer legal for a plug-in to call code or use typedefs from a compiled master app, whereas it was before.
    QUESTION 1: Is that a fair interpretation?
    I am guessing that the DevSys is handling this for me, but the RTEXE is unable to (since there is no compiler).
    So, if I define ahead of time which TYPEDEFs and subVIs are permitted to be called from my plug-ins, and store a separate copy of those, I have to duplicate that relative path on the RTEXE.  If I don't, the signature process will fail (if the path is changed, the signature of the VI will change).
    QUESTION 2:  Is that a reasonable statement?
    And I have to duplicate the same folder of dependent stuff at REVIEWING time, since the exact same VI, extracted from the data file, must be executed by the reviewer on the host.
    QUESTION 3:  Is that a true statement?
    QUESTION 4:  Is there a better way?  Right now (8.6) the fact that the VI wants to load a TYPEDEF from C:\Users\Steve|Projects\HDT\Libraries\HDT Units.llb\HDT Units.ctl and instead finds it in C:HDT\RTEC.rtexe\HDT Units.ctl (on the PXI box) , or in C:\Whatever\HDT Reviewer.exe (at REVIEWING time) is all automatic, invisible, and not a problem.
    Apparently that's not so easy anymore.
    Steve Bird
    Culverson Software - Elegant software that is a pleasure to use.
    Culverson.com
    Blog for (mostly LabVIEW) programmers: Tips And Tricks

    OK, NI Tech Support has been completely useless on this one, and nobody in the forum had ideas, so I had to work all week on it, but I have figured out the root problem.  Here it is for anyone who's interested.
    It definitely IS still legal to call INTO an executable, my conjecture that it was no longer legal was wrong.
    I stumbled across the solution when I discovered that the setting DISCONNECT TYPEDEFS in the BUILD SPEC made a difference.  If I tuned OFF the DISCONNECT switch, everything started working.  The RTEXE size went from 2.2 Meg to 3.4 Meg, but at least it worked.
    Not willing to live with that bloat, I kept chasing the real problem, now knowing that it was NOT a un-findable subVI, but a TYPEDEF that was the problem.
    I turned the DISCONNECT TYPEDEF switch back ON, and stripped ALL the code from my plugin.  Problem remains.
    That suggests that it was with a TYPEDEF, not a subVI.
    Two of the terminals of my plugins are TYPEDEFs.
    I disconnected one (UNITS.ctl ) on a plugin, and got no change.
    I disconnected the other (Channel Preqrequisite.ctl), and got no change.
    But the Channel Prerequisite is a cluster, which contains a UNITS.ctl.
    When I disconnected THAT, then it started working.
    That confirms that it's a TYPEDEF problem (as suggested by the DISCONNECT TYPEDEFS fixing it).
    What I had thought (and maybe it was true in LV 8.6) was that having an INSTANCE of a typedef'ed control in the MAIN was sufficient to make the plugins happy.
    That is NOT the case.  I suspect that this is a change in LV2009/2010 behavior, as I didn't have this problem in 8.6.
    I knew that there were instances of the TYPEDEF'ed controls elsewhere in the MAIN, but, since we're DISCONNECTING TYPEDEFS, then the actual definition is not there.
    To fix the problem, while still keeping DISCONNECT TYPEDEFS set to ON, I placed a STATIC VI REFERENCE in the main program, pointing to each DEFINITION (one to UNITS.ctl, one to CHANNEL PREREQUISITE.ctl), and it all works.
    It works whether 8.X Layout is ON or OFF.
    It works whether I run from an RTEXE or from the DevSys.
    It works with the DISCONNECT TYPEDEFS setting ON (or off).
    Whew!
    Steve Bird
    Culverson Software - Elegant software that is a pleasure to use.
    Culverson.com
    Blog for (mostly LabVIEW) programmers: Tips And Tricks

  • Mysterious compiler

    I hava an interesting question to ask. Here is my scenario:
    I written two class:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class t2 extends JFrame implements ActionListener {
    public t2(JFrame parent,String msg) {
    this.parent=parent;
    this.msg=msg;
    setSize(400,400);
    JButton j= new JButton("jo");
    j.addActionListener(this);
    getContentPane().add(j);
    setVisible(true);
    public void actionPerformed(ActionEvent e) {
    System.out.println(msg);
    parent.show();
    private JFrame parent;
    private String msg;
    t2.java is not the main point the point is here:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class t1 extends javax.swing.JFrame implements ActionListener {
    public static void main(String [] args) {
    new t1();
    public t1() {
    setSize(400,400);
    JButton j= new JButton("jo");
    j.addActionListener(this);
    getContentPane().add(j);
    setVisible(true);
    public void actionPerformed(ActionEvent e) {
    System.out.println("i");
    this.hide();
    new t2(this,"hello");
    Here is the problem:
    When I try to compile this file t1.java it promot with following error
    t1.java:21: cannot resolve symbol
    symbol : constructor t2 (t1,java.lang.String)
    location: class t2
    new t2(this,"hello");
    ^
    1 error
    But When I made a little modification to this file and the resulting file at below, everthings work find
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class t1 extends JFrame implements ActionListener {
    public static void main(String [] args) {
    new t1();
    public t1() {
    setSize(400,400);
    JButton j= new JButton("jo");
    j.addActionListener(this);
    getContentPane().add(j);
    setVisible(true);
    public void actionPerformed(ActionEvent e) {
    System.out.println("i");
    this.hide();
    new t2(this,"hello");
    My question is that, I don't know why is can't compile as before I wrote any class using this approach it work fine.........
    Is here any one know what wrong with that as this is netbeans style

    I am guessing that the compiler is finding a JFrame.class file somewhere that is not javax.swing.JFrame. Try changing the import statement to "import javax.swing.JFrame;" and see what happens.

  • Another Mysterious Compiler Error

    I get a warning and a compiler error on the code below...
    public class ClassA {}
    public interface InterfaceB {}
    public class ClassAB extends ClassA implements InterfaceB {}
    public interface HasAB
        <T extends ClassA & InterfaceB> T getAB();
    public class ClassHasAB implements HasAB
        public ClassAB getAB() {return new ClassAB();}
    public class Foo
        public void foo(ClassA a) { /* do something */ }
        public void bar()
            HasAB hasAB = new ClassHasAB();
            foo(hasAB.getAB());
    }The warning is on this line:
    public ClassAB getAB() {return new ClassAB();}
    Type safety: The return type ClassAB for getAB() from the type ClassHasAB needs unchecked conversion to conform to T from the type HasAB
    The error is on this line:
    foo(hasAB.getAB());
    Bound mismatch: The generic method getAB() of type HasAB is not applicable for the arguments (). The inferred type ClassA is not a valid substitute for the bounded parameter <T extends ClassA & InterfaceB>
    Anyone able to explain why?
    I've read Angelika Langer's FAQ, but perhaps I missed the relevant section? If so, my apologies. Feel free to point it out to me.
    Note: I'm using jdk 1.6.

    In case you're wondering why I'm even doing this, here's my use case...
    I'm using the Google Web Toolkit (GWT). It has a class called Widget, which is the ancestor class of a whole hierarchy of other classes. GWT also has an interface called SourcesKeyboardEvents, allowing you to attach listeners. Some of the sub-classes of Widget (but not all) implement it. Widget itself does not implement SourcesKeyboardEvents.
    Several of the GWT classes have methods which take Widget arguments. For example, the FlexTable class has a setWidget(int row, int col, Widget widget) method.
    Now, I have created a DataRow interface with several getter methods with signatures such as...
    <T extends Widget & SourcesKeyboardEvents> T getNameWidget();
    <T extends Widget & SourcesKeyboardEvents> T getDobWidget();
    <T extends Widget & SourcesKeyboardEvents> T getSexWidget();Elsewhere, I want to take a collection of these DataRow objects, and pull widgets from their getters and throw them into a FlexTable (using setWidget, which expects a Widget object). But I also want to add KeyboardListeners to each of them (using their addKeyboardListener method, which all SourcesKeyboardEvents objects must have).
    So, I guess my question is... If the compiler won't let me do as above, what type should my DataRow getter methods return? I need to be able to treat the objects as both Widgets and SourcesKeyboardEvents objects. Sorry if I've missed something obvious. ;)
    Perhaps you can think of a better design. I'd be interested. Nevertheless, I'm also interested in the theory / bug behind the compiler error in the original post.

  • "The Mystery of the Deck", or, "Is SAP a Nondeterministic Automaton?"

    Please note:
    1) There is a serious question embedded within this post;
    2) The post is not meant as a criticism of the subscription stack - I know what I fool I am for trying to run it under VM on a 4-year old Dell 8200 with 1G overall RAM.
    That being said ...
    Some of you low-lifes out there (Chris S?) have probably played a hand or two of Hollywood Gin (Rummy) for money stakes such as "straight half", "quarter-nickel-quarter", "world, solarsystem, universe", etc.  So you know that each hand starts with both players being dealt 10 cards, while the remaining 32 are placed between the two players in a face-down "stack" or "deck" (except for one that is placed face up next to the "deck".)
    And therefore, it is safe to conclude that at least some of you low-lifes have probably asked the same question that generations of "gin" players have asked:
    Does the order of the cards in the "deck" change after it is has been placed face-down on the table?
    Since no one knows the answer to this "for sure", and in fact, cannot know the answer to this for sure, this mystery is known as "the mystery of the deck".
    Why am I bothering to tell you this?
    Well, I've spent the last seaveral days trying to get the NW7 subscription stack to run in 750M of a VM on my old Dell 8200 with just 1 gig of RAM overall.
    And as you would expect, the WDA application DEMO_TABLE kept on timing out.
    So I set timeout and proctimeout to -1 in the startup profile and changed max_wprun_time dynamically in RZ11 and chose a simpler demo application (DEMO_SIMPLE_MAIN).
    Well, after a few minutes, the window for this app finally popped.
    But here's the funny thing.
    Since I knew everything was actually working as it should, I figured I'd try "DEMO_TABLE" one more time.
    It popped in about 30 seconds.
    So unless one of you "least-recently-used-page-gurus" knows why this happened, I will have to conclude that:
    a) SAP, or at least the NW7 subscription stack, is really a non-deterministic automaton (intentionally or unintentionally);
    b) yes, the order of the cards does change in the deck after the hand of gin has been dealt.
    djh
    Edited by: Rich Heilman on May 1, 2008 2:38 PM
    Edited by: Rich Heilman on May 2, 2008 9:44 AM

    Hey Rich -
    Yeah - that sounds reasonable - thanks very much for taking the time to mention it.
    But one puzzle - the Basis guy who was helping me out for the install says that for the regular ABAP stuff (not the WDA) stuff, the compiles "persist" across a server down/up.  Meaning that when something compiles for the first time, it doesn't have to be recompiled after a server down/up.
    Is this true for the regular stuff (non-WDA)?
    And if so, why not for the WDA as well? Why would stuff have to recompile each time the server is brought up?
    Also, the Basis guy thought it might also have something to do with SAP being smart enough not to keep swapping stuff in/out that's never used - so eventually, the amount of "thrashing" decreases and the machine gets to do some actual work.
    Glad you're not too busy with your new responsibilities to post here occasionally.
    Have your wife and kids told you yet that you gotta find a job that gets you out of the house?
    Best
    djh

  • Can't Export Movie - Unknown Compile Error - Help!

    I edited a 32 minute movie in Premiere Elements 10, and now I'm trying to export it.  At some point during the export, and it seems to vary, I get an unknown compile error.  I've been trying to export the movie for the past week and all I get is failure despite trying just about everything I've found written about how to solve this.
    I have Win 7 Ultimate SP 1 running on a Lenovo desktop machine with an Intel Core 2 Quad CPU at 2.67 GHz, 4GB of RAM, 32 bit proc.
    Premiere is installed on system C drive with 6 GB of free space.
    Project and scrach disks are on D drive with 165 GB of free space.
    Media files are on 2nd E drive with 50GB of free space.
    Project and most source material is NTSC DV -- there are quite a few photos with motion, plus some iPhone HD video on the timeline, hundreds of clips in all plus narration, a few titles, etc.
    Export destination folder is on D drive.
    Everything will render to green lines atop timeline (sometimes it quits during render and I have to keep hitting Enter to continue rendering, but eventually it's all green)
    So far I've tried:
    - Reinstalling PE 10
    - Reinstalling Quicktime
    - Copying all the photos to their own separate folder
    - Editing each photo slightly (outside of PE 10) and resaving to make sure none of the photos are corrupted
    - Emptying the temp folder
    - Deleting all the renders and cache files and letting them rebuild
    - Exporting small pieces of the timeline to try to identify a bad clip -- this is a maddening process and I did find one clip that would generate the error, but I managed to export that to AVI and reimport and replace on timeline.  It would be awfully nice if PE would just TELL ME which clip it doesn't like if in fact it's a clip error.
    - Turning off the shadow / highlight feature I had on some clips, but this wasn't the issue, smaller sections with these clips exported fine
    - Tried exporting to various formats: Vimeo SD, MPEG DV Standard, iPad Standard High Quality, AVI -- all result in the same error (the format I want by the way is Vimeo SD)
    - Rebooting the machine and turning everything off that might possibly consume memory
    This machine has never had problems exporting in the past.  One thing I did try that worked -- installed PE 10 on another (less capable) Win 7 machine, and fed it all the media via an external drive.  The other machine did the export fine (though it took a while given it is underpowered).  This is nothing more than a work around though as I don't normally have access to this machine and I'm not done editing.
    I'm at my wits' end!  What else can I do to get this movie file to export?
    Appreciate any help or clues you can provide to solve this mystery.

    Oh, that is tragic!
    I never had any issues with mine. Maybe it knew how respectful I was, having come from manual rewinds and a sync block? The Moviola was a godsend, at least for me. I am glad that I got to edit film, and on many setups, as some of that translated well to digital Video. Back when I was in film school, Video was 2" tape, and the only editing was by cutting at a 45 degree angle, and splicing the tape. There was not even deck-to-deck editing, way back then. Also, Video looked like crap, at least to my eyes. We could only use a switcher, to "edit," or do a feed to air. Looked like crap!
    As for the Lexus, I can imagine all sorts of problems. My new LX-570 requires me to "Accept," when I put it into reverse, on the rear-view monitor! At least my wife's MB does not require that, but it is a 2011 model, so maybe the 2013 models will require that the user sign off on all sorts of "stuff."
    Now, I can play Finding Nemo, for my rear-seat passengers, while driving, but the front-seat passengers cannot see it, which is just fine. When driving, I am not even a fan of hands-free calls, and declined most of the streaming stock quotes, etc. for XM/Sirius radio. NOT while I am driving. I will save that for reading the WSJ in the club at the airport.
    Some years ago, our driver in London got a new BMW 7-series, and it allowed the playing of DVD's, even in the front, while driving. Not sure that I would want that, but such is life. At least his seats' ventilation system was "well-chilled," where ours' are just air. He almost froze my bum, showing off his new auto.
    Now, working with PS, or PrE in an auto, or even on a mobile device, is just not something that I can wrap my old head around. I want a fast computer, with a big display, and cannot imagine editing Images, or Video, on any handheld (or auto) device.
    Hunt

  • Getting an error when running my program but it compiles.

    Hey guys, I'm having a problem running the program. Everything compiles correctly, but then I get the error code linked below. Everything I think is correct here. Any ideas? I posted CinReader as well in case you wanted to try compiling and running it yourself.
    Thanks
    public class TextShuffleLevel
         private String jumble;
         private String [] matchString;
         public TextShuffleLevel ()
              jumble = "dunops";
              matchString = new String[5];
              matchString[0] = new String("abound");
              matchString[1] = new String("bound");
              matchString[2] = new String("undo");
              matchString[3] = new String("band");
              matchString[4] = new String("bond");
         public TextShuffleLevel (int whichDefaultLevel)
              if (whichDefaultLevel == 1)
                   jumble = "dunops";
                   matchString = new String[5];
                   matchString[0] = new String("abound");
                   matchString[1] = new String("bound");
                   matchString[2] = new String("undo");
                   matchString[3] = new String("band");
                   matchString[4] = new String("bond");
              else if (whichDefaultLevel == 2)
                   jumble = "srcaso";
                   matchString = new String[11];
                   matchString[0] = new String("across");
                   matchString[1] = new String("crass");
                   matchString[2] = new String("cross");
                   matchString[3] = new String("scars");
                   matchString[4] = new String("soars");
                   matchString[5] = new String("arcs");
                   matchString[6] = new String("soar");
                   matchString[7] = new String("scar");
                   matchString[8] = new String("oars");
                   matchString[9] = new String("cars");
                   matchString[10] = new String("orcs");
              else
                   jumble = "eplcis";
                   matchString = new String[19];
                   matchString[0] = new String("splice");
                   matchString[1] = new String("spiel");
                   matchString[2] = new String("plies");
                   matchString[3] = new String("slice");
                   matchString[4] = new String("clips");
                   matchString[5] = new String("epics");
                   matchString[6] = new String("spice");
                   matchString[7] = new String("epic");
                   matchString[8] = new String("lice");
                   matchString[9] = new String("slip");
                   matchString[10] = new String("clip");
                   matchString[11] = new String("pile");
                   matchString[12] = new String("lisp");
                   matchString[13] = new String("pies");
                   matchString[14] = new String("isle");
                   matchString[15] = new String("lips");
                   matchString[16] = new String("lies");
                   matchString[17] = new String("ices");
                   matchString[18] = new String("pics");
         public TextShuffleLevel (String newJumble, String [] newMatchString)
              jumble = newJumble;
              matchString = newMatchString;
         /* This is the nasty one */
         public boolean findMatch (String matchTry)
              boolean foundMatch = false;
              for (int i=0; i<matchString.length; i++)
                   if (matchTry.equalsIgnoreCase(matchString))
                        foundMatch = true;
                        break;
              return foundMatch;
         public void setJumble (String newJumble)
              jumble = newJumble;
         public void setMatchStrings (String [] newMatchString)
              matchString = newMatchString;
         public String getJumble ()
              return jumble;
         public int getJumbleLength ()
              return jumble.length();
         public int getNumberOfMatches ()
              return matchString.length;
         public String[] getMatchString ()
              return matchString;
    public class TextShuffleGame
         private int playerLevel = 1; // start them on level 1
         private CinReader reader;
         private TextShuffleLevel l1;
         private TextShuffleLevel l2;
         private TextShuffleLevel l3;
         private TextShuffleLevel onTheFly;
         public TextShuffleGame ()
              reader = new CinReader();
              // Using Statically Set Levels
              l1 = new TextShuffleLevel(1);
              l2 = new TextShuffleLevel(2);
              l3 = new TextShuffleLevel(3);
              // this one allows for a 'custom' level
              String fly[] = {"tea","at", "ate"};
              onTheFly = new TextShuffleLevel("eta", fly);
         //Setup for levels
         public void go ()
              boolean quit = false;
              char choice = 'z';
              int lastLevel = 0;
              while (quit == false)
                   lastLevel = playerLevel;
                   if (playerLevel == 1)
                        play(l1);
                   else if (playerLevel == 2)
                        play(l2);
                   else if (playerLevel == 3)
                        play(l3);
                   else
                        play(onTheFly);
                   if (lastLevel == playerLevel)
                        System.out.print("Play the level again");
                   else
                        System.out.print("Play next level");
                   System.out.print("(y/n)? ");
                   choice = reader.readChar();
                   if (choice == 'N' || choice == 'n')
                        quit = true;
         //Playing each level the same
         public void play (TextShuffleLevel theLevel)
              int numGuesses = 0;
              int numCorrect = 0;
              String userString = "";
              System.out.println("What " + theLevel.getJumbleLength() + "-letter words can you get out of " +
                                                 theLevel.getJumble() + "?\n");
              while (numGuesses < 5 && numCorrect < theLevel.getNumberOfMatches())
                        System.out.print("Enter a string: ");
                        userString = reader.readString();
                        if (theLevel.findMatch(userString) == true)
                             System.out.println("Great! A match!");
                             numCorrect = numCorrect + 1;
                        else
                             System.out.println("Drat... not a match");
                             numGuesses = numGuesses + 1;
              if (numCorrect == theLevel.getNumberOfMatches())
                   System.out.println("Terrific! You are ready to try a harder jumble");
                   playerLevel = playerLevel + 1;
         /* FOR TESTING ONLY -- TO BE REMOVED FOR RELEASE */
         public static void main (String [] args)
              TextShuffleGame tsg = new TextShuffleGame();
              tsg.go();
    import java.io.*;
    import java.util.*;
    public class CinReader
         private static final int INT_MESSAGE = 0;
         private static final int DOUBLE_MESSAGE = 1;
         private static final int CHAR_MESSAGE = 2;
         private static final int STRING_MESSAGE = 3;
         private static final int BOOLEAN_MESSAGE = 4;
         private static final String DEFAULT_ERROR_MESSAGE = "Please reenter. ";
         private String prompt = "> ";
         private String [] errorMessages;
         public CinReader ()
              prompt = "> ";
              setDefaultMessages();
         public CinReader (String newPrompt)
              prompt = newPrompt;
              setDefaultMessages();
         public CinReader (String newPrompt, String [] newErrorMessages)
              prompt = newPrompt;
              if (newErrorMessages != null)
                   setErrorMessages(newErrorMessages);
              else
                   setDefaultMessages();
         public void setPrompt (String newPrompt)
              prompt = newPrompt;
         public void setErrorMessages (String [] newErrorMessages)
              if (newErrorMessages != null)
                   int diff = errorMessages.length - newErrorMessages.length;
                   // NEED A MINIMUM OF 5 ERROR MESSAGES TO AVOID ERRORS
                   if (diff > 0)
                        errorMessages = new String[5];
                        for (int i=0; i<5; i++)
                             if (i < newErrorMessages.length)
                                  errorMessages[i] = new String(newErrorMessages);
                             else
                                  errorMessages[i] = new String(DEFAULT_ERROR_MESSAGE);
                   else
                        errorMessages = newErrorMessages;
         public void setErrorMessage (int idx, String msg)
              if (idx >= 0 && idx < errorMessages.length)
                   errorMessages[idx] = msg;
         public void setErrorMessageString (String msg)
              errorMessages[STRING_MESSAGE] = msg;
         public void setErrorMessageInt (String msg)
              errorMessages[INT_MESSAGE] = msg;
         public void setErrorMessageDouble (String msg)
              errorMessages[DOUBLE_MESSAGE] = msg;
         public void setErrorMessageChar (String msg)
              errorMessages[CHAR_MESSAGE] = msg;
         public void setErrorMessageBoolean (String msg)
              errorMessages[BOOLEAN_MESSAGE] = msg;
         public String readString()
              char theChar = 'x';
              String result = "";
              boolean done = false;
              while (!done)
                   theChar = nextChar();
                   if (theChar == '\n')
                        done = true;
                   else if (theChar == '\r'){}
                   else
                        result = result + theChar;
              return result;
         public String readString (boolean allowEmpty)
              String result = readString();
              if (!allowEmpty)
                   while (result.length() == 0)
                        System.out.println("Empty input not allowed. " + errorMessages[STRING_MESSAGE]);
                        System.out.print(prompt);
                        result = readString();
              return result;
         public String readString (int charLimit)
              String result = readString();
              if (result.length() > charLimit)
                   result = result.substring(0, charLimit);
              return result;
         public String readString (boolean allowEmpty, int charLimit)
              String result = readString(allowEmpty);
              if (result.length() > charLimit)
                   result = result.substring(0, charLimit);
              return result;
         public int readInt()
              String inputString = "";
              int number = 0;
              boolean done = false;
              while (!done)
                   try
                        inputString = readString();
                        inputString = inputString.trim();
                        number = (Integer.valueOf(inputString).intValue());
                        done = true;
                   catch (NumberFormatException e)
                        System.out.println("Input is not an integer. " + errorMessages[INT_MESSAGE]);
                        System.out.print(prompt);
              return number;
         public int readInt(int min, int max)
              String inputString = "";
              int number = 0;
              boolean done = false;
              while (!done)
                   try
                        inputString = readString();
                        inputString = inputString.trim();
                        number = (Integer.valueOf(inputString).intValue());
                        if (number < min || number > max)
                             System.out.println("Please enter an integer between " + min + " and " + max);
                        else
                             done = true;
                   catch (NumberFormatException e)
                        System.out.println("Input is not an integer. " + errorMessages[INT_MESSAGE]);
                        System.out.print(prompt);
              return number;
         public double readDouble()
              String inputString = "";
              double number = 0;
              boolean done = false;
              while (!done)
                   try
                        inputString = readString();
                        inputString = inputString.trim();
                        number = (Double.valueOf(inputString).doubleValue());
                        done = true;
                   catch (NumberFormatException e)
                        System.out.println("Input is not an integer. " + errorMessages[DOUBLE_MESSAGE]);
                        System.out.print(prompt);
              return number;
         public char readChar()
              boolean done = false;
              String inputString = "";
              char nonWhite = 'x';
              while (!done)
                   inputString = readString();
                   inputString = inputString.trim();
                   if (inputString.length() != 1)
                        System.out.println("Input must be a single character. " + errorMessages[CHAR_MESSAGE]);
                        System.out.print(prompt);
    else
    nonWhite = (inputString.charAt(0));
    done = true;
              return nonWhite;
         public char readChar (String range)
              char theChar = 'x';
              boolean done = false;
              while (!done)
                   theChar = readChar();
                   for (int i=0; i<range.length(); i++)
                        if (theChar == range.charAt(i))
                             done = true;
                             break;
                   if (!done)
                        System.out.print("Invalid input. Please enter one of the following -> ");
                        for (int i=0; i<range.length(); i++)
                             System.out.print(range.charAt(i) + " ");
                        System.out.print("\n" + prompt);
              return theChar;
         public boolean readBoolean()
              boolean done = false;
              String inputString = "";
              boolean result = false;
              while (!done)
                   inputString = readString(false);
                   inputString = inputString.trim();
                   if (inputString.equalsIgnoreCase("true") || inputString.equalsIgnoreCase("t"))
                        result = true;
                        done = true;
                   else if (inputString.equalsIgnoreCase("false") || inputString.equalsIgnoreCase("f"))
                        result = false;
                        done = true;
                   else
                        System.out.println("Input must be [t]rue or [f]alse. " + errorMessages[BOOLEAN_MESSAGE]);
                        System.out.print(prompt);
              return result;
         private void setDefaultMessages ()
              errorMessages = new String[5];
              for (int i=0; i<errorMessages.length; i++)
                   errorMessages[i] = new String(DEFAULT_ERROR_MESSAGE);
         private char nextChar()
              int charAsInt = -1;
              try
                   charAsInt = System.in.read();
              catch(IOException e)
                   System.out.println(e.getMessage());
                   System.out.println("Fatal error. Exiting program.");
                   System.exit(0);
              return (char)charAsInt;

    Ok, here's what I did using the JSE 8.1 IDE.
    1) I copied your code into a .java file named "TextShuffleGame".
    It generated about half a dozon errors.
    There are three classes in the program:
    TextShuffleLevel
    TextShuffleGame
    CinReader
    Each of these classes is declared "public" and I got the same error message on each one:
    "class ... is public, should be declared in a file name ... .java"
    so, I...
    2) tried changing them to "private".
    It then said: "modifier private not allowed here".
    so, I...
    3) deleted the modifiers for these three classes and left them as just class. No errors.
    The next two errors had to do with the two import statements:
    "import java.io.*;" and "import java.util.*;".
    It said: "'class' or 'identifier' expected" for both. So, I...
    4) moved them to the top of the source file.
    Didn't help at first. So, I...
    5) fiddle around with them a bit.
    I tried "java.io;" and "java.util;" and then "java.*;" by itself. Still got errors. So, I put them back as you had them and for some mysterious reason, my editor decided they were fine. oO
    This also corrected the last errors in the "CinReader" class. Here is the error-free code I now have in my "TextShuffleGame.java" file:
    import java.io.*;
    import java.util.*;
    class TextShuffleLevel
         private String jumble;
         private String [] matchString;
         public TextShuffleLevel ()
              jumble = "dunops";
              matchString = new String[5];
              matchString[0] = new String("abound");
              matchString[1] = new String("bound");
              matchString[2] = new String("undo");
              matchString[3] = new String("band");
              matchString[4] = new String("bond");
         public TextShuffleLevel (int whichDefaultLevel)
              if (whichDefaultLevel == 1)
                   jumble = "dunops";
                   matchString = new String[5];
                   matchString[0] = new String("abound");
                   matchString[1] = new String("bound");
                   matchString[2] = new String("undo");
                   matchString[3] = new String("band");
                   matchString[4] = new String("bond");
              else if (whichDefaultLevel == 2)
                   jumble = "srcaso";
                   matchString = new String[11];
                   matchString[0] = new String("across");
                   matchString[1] = new String("crass");
                   matchString[2] = new String("cross");
                   matchString[3] = new String("scars");
                   matchString[4] = new String("soars");
                   matchString[5] = new String("arcs");
                   matchString[6] = new String("soar");
                   matchString[7] = new String("scar");
                   matchString[8] = new String("oars");
                   matchString[9] = new String("cars");
                   matchString[10] = new String("orcs");
              else
                   jumble = "eplcis";
                   matchString = new String[19];
                   matchString[0] = new String("splice");
                   matchString[1] = new String("spiel");
                   matchString[2] = new String("plies");
                   matchString[3] = new String("slice");
                   matchString[4] = new String("clips");
                   matchString[5] = new String("epics");
                   matchString[6] = new String("spice");
                   matchString[7] = new String("epic");
                   matchString[8] = new String("lice");
                   matchString[9] = new String("slip");
                   matchString[10] = new String("clip");
                   matchString[11] = new String("pile");
                   matchString[12] = new String("lisp");
                   matchString[13] = new String("pies");
                   matchString[14] = new String("isle");
                   matchString[15] = new String("lips");
                   matchString[16] = new String("lies");
                   matchString[17] = new String("ices");
                   matchString[18] = new String("pics");
         public TextShuffleLevel (String newJumble, String [] newMatchString)
              jumble = newJumble;
              matchString = newMatchString;
         /* This is the nasty one */
         public boolean findMatch (String matchTry)
              boolean foundMatch = false;
              for (int i=0; i<matchString.length; i++)
                   if (matchTry.equalsIgnoreCase(matchString))
                        foundMatch = true;
                        break;
              return foundMatch;
         public void setJumble (String newJumble)
              jumble = newJumble;
         public void setMatchStrings (String [] newMatchString)
              matchString = newMatchString;
         public String getJumble ()
              return jumble;
         public int getJumbleLength ()
              return jumble.length();
         public int getNumberOfMatches ()
              return matchString.length;
         public String[] getMatchString ()
              return matchString;
    class TextShuffleGame
         private int playerLevel = 1; // start them on level 1
         private CinReader reader;
         private TextShuffleLevel l1;
         private TextShuffleLevel l2;
         private TextShuffleLevel l3;
         private TextShuffleLevel onTheFly;
         public TextShuffleGame ()
              reader = new CinReader();
              // Using Statically Set Levels
              l1 = new TextShuffleLevel(1);
              l2 = new TextShuffleLevel(2);
              l3 = new TextShuffleLevel(3);
              // this one allows for a 'custom' level
              String fly[] = {"tea","at", "ate"};
              onTheFly = new TextShuffleLevel("eta", fly);
         //Setup for levels
         public void go ()
              boolean quit = false;
              char choice = 'z';
              int lastLevel = 0;
              while (quit == false)
                   lastLevel = playerLevel;
                   if (playerLevel == 1)
                        play(l1);
                   else if (playerLevel == 2)
                        play(l2);
                   else if (playerLevel == 3)
                        play(l3);
                   else
                        play(onTheFly);
                   if (lastLevel == playerLevel)
                        System.out.print("Play the level again");
                   else
                        System.out.print("Play next level");
                   System.out.print("(y/n)? ");
                   choice = reader.readChar();
                   if (choice == 'N' || choice == 'n')
                        quit = true;
         //Playing each level the same
         public void play (TextShuffleLevel theLevel)
              int numGuesses = 0;
              int numCorrect = 0;
              String userString = "";
              System.out.println("What " + theLevel.getJumbleLength() + "-letter words can you get out of " +
                                                 theLevel.getJumble() + "?\n");
              while (numGuesses < 5 && numCorrect < theLevel.getNumberOfMatches())
                        System.out.print("Enter a string: ");
                        userString = reader.readString();
                        if (theLevel.findMatch(userString) == true)
                             System.out.println("Great! A match!");
                             numCorrect = numCorrect + 1;
                        else
                             System.out.println("Drat... not a match");
                             numGuesses = numGuesses + 1;
              if (numCorrect == theLevel.getNumberOfMatches())
                   System.out.println("Terrific! You are ready to try a harder jumble");
                   playerLevel = playerLevel + 1;
         /* FOR TESTING ONLY -- TO BE REMOVED FOR RELEASE */
         public static void main (String [] args)
              TextShuffleGame tsg = new TextShuffleGame();
              tsg.go();
    class CinReader
         private static final int INT_MESSAGE = 0;
         private static final int DOUBLE_MESSAGE = 1;
         private static final int CHAR_MESSAGE = 2;
         private static final int STRING_MESSAGE = 3;
         private static final int BOOLEAN_MESSAGE = 4;
         private static final String DEFAULT_ERROR_MESSAGE = "Please reenter. ";
         private String prompt = "> ";
         private String [] errorMessages;
         public CinReader ()
              prompt = "> ";
              setDefaultMessages();
         public CinReader (String newPrompt)
              prompt = newPrompt;
              setDefaultMessages();
         public CinReader (String newPrompt, String [] newErrorMessages)
              prompt = newPrompt;
              if (newErrorMessages != null)
                   setErrorMessages(newErrorMessages);
              else
                   setDefaultMessages();
         public void setPrompt (String newPrompt)
              prompt = newPrompt;
         public void setErrorMessages (String [] newErrorMessages)
              if (newErrorMessages != null)
                   int diff = errorMessages.length - newErrorMessages.length;
                   // NEED A MINIMUM OF 5 ERROR MESSAGES TO AVOID ERRORS
                   if (diff > 0)
                        errorMessages = new String[5];
                        for (int i=0; i<5; i++)
                             if (i < newErrorMessages.length)
                                  errorMessages[i] = new String(newErrorMessages[i]);
                             else
                                  errorMessages[i] = new String(DEFAULT_ERROR_MESSAGE);
                   else
                        errorMessages = newErrorMessages;
         public void setErrorMessage (int idx, String msg)
              if (idx >= 0 && idx < errorMessages.length)
                   errorMessages[idx] = msg;
         public void setErrorMessageString (String msg)
              errorMessages[STRING_MESSAGE] = msg;
         public void setErrorMessageInt (String msg)
              errorMessages[INT_MESSAGE] = msg;
         public void setErrorMessageDouble (String msg)
              errorMessages[DOUBLE_MESSAGE] = msg;
         public void setErrorMessageChar (String msg)
              errorMessages[CHAR_MESSAGE] = msg;
         public void setErrorMessageBoolean (String msg)
              errorMessages[BOOLEAN_MESSAGE] = msg;
         public String readString()
              char theChar = 'x';
              String result = "";
              boolean done = false;
              while (!done)
                   theChar = nextChar();
                   if (theChar == '\n')
                        done = true;
                   else if (theChar == '\r'){}
                   else
                        result = result + theChar;
              return result;
         public String readString (boolean allowEmpty)
              String result = readString();
              if (!allowEmpty)
                   while (result.length() == 0)
                        System.out.println("Empty input not allowed. " + errorMessages[STRING_MESSAGE]);
                        System.out.print(prompt);
                        result = readString();
              return result;
         public String readString (int charLimit)
              String result = readString();
              if (result.length() > charLimit)
                   result = result.substring(0, charLimit);
              return result;
         public String readString (boolean allowEmpty, int charLimit)
              String result = readString(allowEmpty);
              if (result.length() > charLimit)
                   result = result.substring(0, charLimit);
              return result;
         public int readInt()
              String inputString = "";
              int number = 0;
              boolean done = false;
              while (!done)
                   try
                        inputString = readString();
                        inputString = inputString.trim();
                        number = (Integer.valueOf(inputString).intValue());
                        done = true;
                   catch (NumberFormatException e)
                        System.out.println("Input is not an integer. " + errorMessages[INT_MESSAGE]);
                        System.out.print(prompt);
              return number;
         public int readInt(int min, int max)
              String inputString = "";
              int number = 0;
              boolean done = false;
              while (!done)
                   try
                        inputString = readString();
                        inputString = inputString.trim();
                        number = (Integer.valueOf(inputString).intValue());
                        if (number < min || number > max)
                             System.out.println("Please enter an integer between " + min + " and " + max);
                        else
                             done = true;
                   catch (NumberFormatException e)
                        System.out.println("Input is not an integer. " + errorMessages[INT_MESSAGE]);
                        System.out.print(prompt);
              return number;
         public double readDouble()
              String inputString = "";
              double number = 0;
              boolean done = false;
              while (!done)
                   try
                        inputString = readString();
                        inputString = inputString.trim();
                        number = (Double.valueOf(inputString).doubleValue());
                        done = true;
                   catch (NumberFormatException e)
                        System.out.println("Input is not an integer. " + errorMessages[DOUBLE_MESSAGE]);
                        System.out.print(prompt);
              return number;
         public char readChar()
              boolean done = false;
              String inputString = "";
              char nonWhite = 'x';
              while (!done)
                   inputString = readString();
                   inputString = inputString.trim();
                   if (inputString.length() != 1)
                        System.out.println("Input must be a single character. " + errorMessages[CHAR_MESSAGE]);
                        System.out.print(prompt);
    else
    nonWhite = (inputString.charAt(0));
    done = true;
              return nonWhite;
         public char readChar (String range)
              char theChar = 'x';
              boolean done = false;
              while (!done)
                   theChar = readChar();
                   for (int i=0; i<range.length(); i++)
                        if (theChar == range.charAt(i))
                             done = true;
                             break;
                   if (!done)
                        System.out.print("Invalid input. Please enter one of the following -> ");
                        for (int i=0; i<range.length(); i++)
                             System.out.print(range.charAt(i) + " ");
                        System.out.print("\n" + prompt);
              return theChar;
         public boolean readBoolean()
              boolean done = false;
              String inputString = "";
              boolean result = false;
              while (!done)
                   inputString = readString(false);
                   inputString = inputString.trim();
                   if (inputString.equalsIgnoreCase("true") || inputString.equalsIgnoreCase("t"))
                        result = true;
                        done = true;
                   else if (inputString.equalsIgnoreCase("false") || inputString.equalsIgnoreCase("f"))
                        result = false;
                        done = true;
                   else
                        System.out.println("Input must be [t]rue or [f]alse. " + errorMessages[BOOLEAN_MESSAGE]);
                        System.out.print(prompt);
              return result;
         private void setDefaultMessages ()
              errorMessages = new String[5];
              for (int i=0; i < errorMessages.length; i++)
                   errorMessages[i] = new String(DEFAULT_ERROR_MESSAGE);
         private char nextChar()
              int charAsInt = -1;
              try
                   charAsInt = System.in.read();
              catch(IOException e)
                   System.out.println(e.getMessage());
                   System.out.println("Fatal error. Exiting program.");
                   System.exit(0);
              return (char)charAsInt;
    Hope that helps.

  • Mystery of mysteries. Can't get rid of "Glossary" text on Favorites tab.

    I consider myself relatively well-versed in chm file compiling and chm related issues, but this one has me stumped...
    System Specs;
    RH 9 now (initial English help in background below was compiled using RH 7)
    Windows 7 64-bit
    First, the background -- We use RoboHelp to compile our English CHM. We then decompile the files from the CHM and ship those off for localization. When they come back from translation, we use usually use FAR HTML to recompile the help. Sometimes we use RH (if FAR HTML is being tempermental). And in rare cases, like today, we use both. So today I was working on compiling a Traditional Chinese help we got back from translation recently. I tried using FAR HTML as usual for the initial post-translation compile. I ran into various and sundry compiler errors that made no sense whatsoever, so I decided to try compiling it in RH instead. The compilation made it through, but the Contents and Index tabs weren't displaying the proper Chinese characters. So I took this Traditional Chinese chm that was compiled by RH, decompiled it, and tinkered with .hhc and .hhk file encoding and charsets and used FAR HTML again to compile. And this time compiling worked without a hitch. We got proper characters. Yay! So far so good. Well, sort of. That's just the background.
    Now, the problem -- So now, compiling back in FAR HTML from the above decompiled RH 9 files, I'm getting a psuedo Glossary tab I don't want since in our localized versions of the help. (We simply just call an htm containing the glossary info, and tie the htm to the toolbar.) I say "pseudo" because here's what the navigation pane on the compiled help looks lilke:
    Notice that the Favorites tab is actually somehow getting named as "Glossary".  We don't want this. I want the default "Favorites" text for the tab. If I unregister the hhactivex.dll and recompile, the "Glossary" string on the tab thankfully goes away, showing just "Favorites". If I register the dll again or move the compiled help onto a system with a registered hhactivex.dll, the problem reappears all by itself when the help is launched.
    How can I get my Favorites tab back to normal? I suspect this problem is contained somewhere in the HHP file, specifically my Windows definition. But I've tried recreating the hhp, and the window definition many times, but it still appears. I even at one point tried removing the Favorites tab but then the mystery "Glossary" text moves onto infesting the Search tab.
    Here's my hhp innards if it helps:
    [OPTIONS]
    Binary TOC=No
    Binary Index=Yes
    Compiled File=pcdlrn.chm
    Contents File=pcdlrn.hhc
    Index File=pcdlrn.hhk
    Default Window=HtmlHelp
    Default Topic=intro.htm
    Default Font=,,136
    Full-text search=Yes
    Auto Index=Yes
    Language=0x404 Chinese (Traditional/Taiwan)
    Title=PC-DMIS Help
    Create CHI file=No
    Compatibility=1.1 or later
    Error log file=_errorlog.txt
    Full text search stop list file=
    Display compile progress=Yes
    Display compile notes=Yes
    [WINDOWS]
    HtmlHelp="PC-DMIS Help","pcdlrn.hhc","pcdlrn.hhk","intro.htm","intro.htm","pcdlrn_glo.htm","Glossary Button",,,0x61520,244,0x4386E,[432,113,1354,863],0xB0000,,,,,,0
    [FILES]
    Auto_Edge_Strength.htm
    ... and a bazillion other files ...
    [ALIAS]
    #include Core.ali
    [MAP]
    #include BSSCDefault.h
    [MERGE FILES]
    errorcodes.chm
    pcdbasic.chm
    pcdmiscmm.chm
    pcdmisdci.chm
    pcdmisfixturing.chm
    pcdmislaser.chm
    pcdmisnc.chm
    pcdmisportable.chm
    pcdmisregistry.chm
    pcdmistutor.chm
    pcdmisvision.chm
    Is RH somehow still doing something to it even though technically I'm not using it to compile? Is there some other setting or file somewhere that could be controlling this or is it just a compiler bug that I've never noticed?

    Thanks Cara, but I'm not sure if that's the same thing. In this problem the Favorites tab in the CHM was showing up with the word "Glossary" in it. Anyway, it's water under the bridge now for me. Things are better now that we're localizing our Engish RH project directly, instead of our old way of decompiling the English chms and sending the decompiled htms.

  • Mystery Problem in Code...Please Help...

    Ok, here's the situation. I am a photographer, and have been writing code for some time now. I decided to write a java application that would write individual web pages for each jpeg present in two directories, bnw and color, making the job of writing as many as 300 virtually identical pages a lot less annoying. Unfortunately, this is even more so.
    The code is clean in nice, and it compiles without a hitch. When I run the application (w/ jdk 1.4.0) on Windows 98, it comes up with an invalid path error when it tries to create the first of these web pages, but after it writes the list of all the images it sees. (This list is created successfully.) I went back and double checked that there weren't any filenames that Windows would gripe about, and an error was found. I corrected the error, and now everything is kosher, but yet the same error still occurs. I've several different methods of doing the same thing, and every time, the same error occurs at the same spot. I have included the source code below. Please, any help would be appreciated!
    import java.io.*;
    import java.util.*;
    public class listDir {
         public static final String DEBUG = true;
         static {
              if (DEBUG)
                   System.err.println("----------- < DEBUGGING IS ON > -------------");
            public static void main(String[] args) {
              // DEBUG STATEMENT
              System.err.print("DEBUG: Declaring final Strings... ");
                    final String path1 = "E:\\Liam Conrad - Photographer\\800x600\\images\\html\\bnw";
                    final String path2 = "E:\\Liam Conrad - Photographer\\800x600\\images\\html\\color";
              final String line1 = "<html>\r\n<head>\r\n<title></title>\r\n<link href=\"../../master.css\" rel=\"stylesheet\">\r\n</head>\r\n";
              final String line2 = "<body>\r\n<table width=\"100%\" height=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\r\n<tr>\r\n";
              final String line3 = "<td align=\"center\" valign=\"top\" colspan=\"1\" width=\"100%\">\r\n<p><img src=\"";
              final String line4 = "\" border=\"1\" width=\"432\" height=\"288\" alt=\"\"></p></td></tr></table></body></html>\r\n\r\n\r\n";
              // DEBUG STATEMENT (2)
              System.err.println("[ DONE ]");
              System.err.print("DEBUG: Declaring variables... ");
              String temps1;
              String temps2;
                    RandomAccessFile raf;
                    RandomAccessFile mfo;
                    File d1;
                    File d2;
                    String[] list1;
                    String[] list2;
                    String[] list3;
                    Vector svect = new Vector();
              // DEBUG STATEMENT (2)
              System.err.println("[ DONE ]");
              System.err.println("DEBUG: Beginning try statement.");
                    try {
                            d1 = new File(path1);
                            d2 = new File(path2);
                            raf = new RandomAccessFile("dirlist.txt", "rw");
                            list1 = d1.list();
                            list2 = d2.list();
                            for (int i = 0; i < list1.length; i++) {
                                    if (list1.endsWith(".jpg")) {
    svect.add("bnw_" + list1[i]);
    } else {
    for (int i = 0; i < list2.length; i++) {
    if (list2[i].endsWith(".jpg")) {
    svect.add("color_" + list2[i]);
    } else {
    for (int i = 0; i < svect.size(); i++) {
    raf.writeBytes((i+1) + ":\t" + svect.get(i) + "\r\n");
    raf.close();
                   for (int i = 0; i < svect.size(); i++) {
                        temps1 = svect.get(i) + "\b\b\bhtml";
                        temps2 = temps1;
                        System.out.println(temps2);
                        mfo = new RandomAccessFile(temps2, "rw"); // <--- Here is where the error is occuring every time.
                        mfo.writeBytes(line1);
                        mfo.writeBytes(line2);
                        mfo.writeBytes(line3);
                        mfo.writeBytes((String)svect.get(i));
                        mfo.writeBytes(line4);
                        mfo.close();
    } catch (Exception e) {
    e.printStackTrace();
                   System.err.println((char)7 + "\n");

    Hi buddy
    First of all, there is no mystery in this program. Everything is pretty clear...
    OK, Instead of pointing out the mistakes you have done, I thought why not may be I cam modify the program and then give u the code. Go thru the code and you will understand the mistakes you have done. You have to make a few changes to make this applicable to you. Firstly, change the directory names, secondly, change the GIFs to JPGs, thirdly, add the table formatting that you were looking for(i removed the formatting for simplicity)... and things like that.
    Lot of things to say about : Since you are creating a html file in the current directory and in that html file, you are refering to the images in two other directories, you wont be able to see the images unless you move the files to the current working directory. And you cannot move a file from one directory to another using Java IO(Only way is you can create exact replicas of the files in other directories). Or, One way to get around with this problem is : Use full path of the file instead of just the name of the GIF(or jpeg or whatever) file. That is what I have done in the following program.
    Cheers
    -Uday
    import java.io.*;
    import java.util.*;
    public class Picture {
         public static final boolean DEBUG = true;
         static {
              if (DEBUG)
                   System.err.println("----------- < DEBUGGING IS ON > -------------");
    public static void main(String[] args) {
              // DEBUG STATEMENT
              System.err.print("DEBUG: Declaring final Strings... ");
    final String path1 = "C:\\uday\\PIC\\one";
    final String path2 = "C:\\uday\\PIC\\two";
              final String line1 = "<html>\r\n<head>\r\n<title></title>\r\n</head>\r\n";
              final String line2 = "<body>\r\n<table>\r\n<tr>\r\n";
              final String line3 = "<td align=\"center\" valign=\"top\">\r\n<p><img src=\"";
              final String line4 = "\" alt=\"\"></p></td></tr></table></body></html>\r\n\r\n\r\n";
              // DEBUG STATEMENT (2)
              System.err.println("[ DONE ]");
              System.err.print("DEBUG: Declaring variables... ");
              String temps1;
              String temps2;
    RandomAccessFile raf;
    RandomAccessFile mfo;
    File d1;
    File d2;
    String[] list1;
    String[] list2;
    String[] list3;
    Vector svect = new Vector();
              Vector nvect = new Vector();
              // DEBUG STATEMENT (2)
              System.err.println("[ DONE ]");
              System.err.println("DEBUG: Beginning try statement.");
    try {
    d1 = new File(path1);
    d2 = new File(path2);
    raf = new RandomAccessFile("dirlist.txt", "rw");
    list1 = d1.list();
    list2 = d2.list();
    for (int i = 0; i < list1.length; i++) {
    if (list1.endsWith(".gif")) {
                             nvect.add(path1+"\\"+list1[i]);
                             String temp1 = "one_"+list1[i].substring(0,list1[i].lastIndexOf(".gif"));
    svect.add(temp1);
    } else {
    for (int i = 0; i < list2.length; i++) {
    if (list2[i].endsWith(".gif")) {
                             nvect.add(path2+"\\"+list2[i]);
                             String temp2 = "two_"+list2[i].substring(0,list2[i].lastIndexOf(".gif"));
    svect.add(temp2);
    } else {
    for (int i = 0; i < svect.size(); i++) {
    raf.writeBytes((i+1) + ":\t" + svect.get(i) + "\r\n");
    raf.close();
                   for (int i = 0; i < svect.size(); i++) {
                        temps1 = svect.get(i) + ".html";
                        temps2 = temps1;
                        System.out.println(temps2);
                        mfo = new RandomAccessFile(temps2, "rw"); // <--- Here is where the error is
    occuring every time.
                        mfo.writeBytes(line1);
                        mfo.writeBytes(line2);
                        mfo.writeBytes(line3);
                        mfo.writeBytes((String)nvect.get(i));
                        mfo.writeBytes(line4);
                        mfo.close();
    } catch (Exception e) {
    e.printStackTrace();
                   System.err.println((char)7 + "\n");

  • Mysterious symbols in .o files

    I have an object file that I built with Forte C++ 5.0.
    I would like to find out from what source file (.h or .cpp) a particular referenced name was made.
    Does nm produce such a listing???

    To answer my own question:
    Per section 15.4.1of Bjarne's C++ 3rd Ed., it states that when using a dynamic_cast, the compiler stores some RTTI information about the object being cast. So, the compiler created this mysterious global. What a stinker!
    -- jrj

  • Labview, degrading quality editor / compiler

    Working with Labview since version 8.1, nearly 6 years ago, the functionality has been extended but the quality underneath the surface of both the editor and compiler is getting worse and worse.  Do others experience this?
    Just some observations:
    - The compiler has become a lot slower, as it seems to be doing continual consistency checks, at each run.
    - Saving a bunch of slightly modified vi's and controls has become a lot slower, as it seems to be doing a lot of continual consistency checks and preemptive/preventive corrections before saving.
    If these checks were effective I could live with the mostly unnecessarily-repetitive overhead.  But then I find that:
    - Since moving to Labview 2010, 2011 and now Labview 2013 I find myself in a position where I have to do 2 (or more) compile runs (Build .exe) of several minutes to create a single .exe.  Each intermediate Build ends with an unspecific, vague error message right at the end of the Build.  As far as I have been able to determine several of these errors have to do with corruption in the underlying database which represents the Labview code.
    - Even though it should be fixed I find that after re-linking a bunch of Property-nodes from one Control to a similar Control, the whole group of Property-nodes is linked to each other but not to the new assigned Control.  This is just an example.
    - Labels not in their default spot are still being mishandled after conversions, re-linking Controls, etc.
    Most of these issues come down to problems (or blatant corruption) in the underlying database where Labview stores your code, introduced or mishandled by either the Labview editor or its compiler.
    In stead of gradually lessen I feel these issues have become worse and worse in recent Labview versions.  Combined with all the minutes wasted by the editor and compiler trying to prevent this I would rate this as a (very) poor state.
    On a personal level I am getting to a point where I will have to advise my manager to move to a different environment for all non-Labview-essential coding.

    Norbert_B wrote:
    OK, "backwards" answer :
    The term "Crosslinking" describes a situation where a component is shared between multiple projects. So obviously, you have crosslinking between at least three projects.
    That being said, crosslinking does not need to be a problem; but it is something easily creating issues as it is a shared resource.
    Updating your projects is a perfect example:
    If you mass compile (you obviously don't do it yet) one project (e.g. "A"), all components are updated.
    After doing this, the other two projects ("B" and "C") wont open up in the 'old' LV version as the crosslinked components are already recompiled for the new version.
    There are three feasable options:
    a) Keep crosslinking. Be aware of all issues which might occur by this, but it could be an advantage (changes dont need to be deployed to each project over and over).
    b) Dissolve crosslinking by putting the shared component into each project as separate, project-specific copy. I recommend you to prepend a project abbrevation to the component during that process; otherwise, crosslinking can be easily re-introduced.
    c) Separate Compiled Code from VI. This is an option NI added to LV 2010. This will add overhead to the development as each machine has to recompile the VIs after opening them (no compiled code in the VI file!). Advantage is that each compilation can be system specific and re-compiling doesnt modify the VI-file.
    It sounds as if you are using implicit bound property nodes. Do you have an example VI where we can reproduce the issue you are seeing?
    Yes, building an application can be tricky from time to time. Another source of errors i forgot to mention are conflicts in the project. Rule of Thumb: Never try a build if there are still conflicts displayed in the project explorer. Do you already follow that rule?
    Please try running the mass compile before working on the project in the new version. Opening the top-level VI(s) and saving is most often not sufficient. This recommendation is 'invalid' regarding your base libraries if you chose to go for option c) mentioned above. Reason: Compiled code is not part of the VI-file, so the compiler has always to recompile all VIs once they are opened first time on the machine.
    Norbert
    Norbert,
    I did a couple of mass compiles to tackle a few "Nonfatal insanity" (talk about "Backwards" ) errors I had, and which mysteriously dissapeared.
    What I do is open each project seperately and save any updates it wants doing.  This -should- do the same as a mass compile.
    And this brings me to one of the main issues I have with Labview:  I constantly have to avoid a straightforward solution because of shortcomings in Labview.  The alternative is just as bad: I have to create examples of bugs to be used on this forum and go through all the effort of generating bug-reports.  A process which has already amounted to several working days of my (and my companies) time so far, to discover none of these bug-reports have been solved a year later or are even mentioned in the "Known bugs" list.
    I will have a look at your suggestions to see if somehow I can make this into a manageable working procedure.

  • URGENT: sp6 and JSP compiling/classpath problem?

    Hi,
              We installed sp6 on our production site a little over a week and started
              seeing this problem on our logs with regards to any JSP with an include tag,
              such as:
              <%@ include file="/inc/insideHeadTag.jsp" %>
              INTERMITTENTLY, we will get the following error in the page on the client
              side at runtime:
              < ! -- cannot include file '/inc/insideHeadTag.jsp', resource not
              found -- >
              I grepped this newsgroup and noticed a previous unanswered post of the same
              nature, "Static compiles do not seem to include JSP's". Except in our case,
              this problem also manifest for dynamic JSP compiles, happens sporatically,
              and only started with sp6.
              Bug???
              Gene Chuang
              Join Kiko.com!
              

              Just to clarify - I'm not from BEA, I'm from EA - short a letter.
              As far as I know, there is no synchronization between WL instances in a cluster regarding the
              the compiling of JSPs. So when you start up two WL instances that share the same workingDir,
              and each WL instances gets a hit on your shiny new index.jsp, they both need to compile it. So the first
              one compiles it and writes index.class, the second does the same, overwriting the first _index.class,
              possibly at the same time that the first instance is trying to load _index.class into memory. And you
              get a mysterious 'class not found' error. Not likely, but possible.
              "Gene Chuang" <[email protected]> wrote:
              >Hmm, interesting... I thought Weblogic strongly recommends clustered
              >servers sharing the same file system?
              >
              >So you're saying the system-wide, cluster and node specific directories can
              >reside on the shared drive, but workingDirs should reside on local drives?
              >
              >--
              >Gene Chuang
              >Join Kiko.com!
              >
              >"Mike Reiche" <[email protected]> wrote in message
              >news:[email protected]...
              >>
              >> Make sure that your WLS instances are NOT sharing the workingDir. If two
              >instances
              >> try to compile the same JSP at the same time, bad things can happen.
              >>
              >> Mike
              >>
              >> "Gene Chuang" <[email protected]> wrote:
              >> >Hi Jong,
              >> >
              >> >Thanks for the reply; but I wish the solution is as simple as that.
              >Yes,
              >> >my .jsps are in the proper directory. They have been working properly
              >for
              >> >the past 6 months, since we were running WL 4.5.1. Only when I switched
              >to
              >> >WL 5.1 sp6 did this bug start showing up. Plus, like I said in my
              >original
              >> >post, this bug is sporatic. SOMETIMES the included jsp is found by
              >Weblogic
              >> >and the includer jsp compiles correctly; other times it isn't found and
              >the
              >> >includer jsp leaves a gap! What's going on?
              >> >
              >> >We are running clustered web servers in Solaris 2.7 with a shared file
              >> >system. This sporatic behavior may be because some nodes aren't working
              >> >properly???
              >> >
              >> >--
              >> >Gene Chuang
              >> >Join Kiko.com!
              >> >
              >> >"Jong Lee" <[email protected]> wrote in message
              >> >news:[email protected]...
              >> >>
              >> >> "Gene Chuang" <[email protected]> wrote:
              >> >> >Hi,
              >> >> >
              >> >> >We installed sp6 on our production site a little over a week and
              >started
              >> >> >seeing this problem on our logs with regards to any JSP with an
              >include
              >> >tag,
              >> >> >such as:
              >> >> I assumed insideHeadTag.jsp is in
              >> >> YOUR_DOCUMENT_ROOT/inc/insideHeadTag.jsp
              >> >>
              >> >> if you haven't read the spec of relative URI please do so:
              >> >> jsp spec 1.1 - section 2.5.2
              >> >>
              >> >> Jong
              >> >>
              >> >> >
              >> >> > <%@ include file="/inc/insideHeadTag.jsp" %>
              >> >> >
              >> >> >INTERMITTENTLY, we will get the following error in the page on the
              >client
              >> >> >side at runtime:
              >> >> >
              >> >> > < ! -- cannot include file '/inc/insideHeadTag.jsp', resource not
              >> >> >found -- >
              >> >> >
              >> >> >I grepped this newsgroup and noticed a previous unanswered post of the
              >> >same
              >> >> >nature, "Static compiles do not seem to include JSP's". Except in our
              >> >case,
              >> >> >this problem also manifest for dynamic JSP compiles, happens
              >> >sporatically,
              >> >> >and only started with sp6.
              >> >> >
              >> >> >Bug???
              >> >> >
              >> >> >Gene Chuang
              >> >> >Join Kiko.com!
              >> >> >
              >> >> >
              >> >> >
              >> >>
              >> >
              >> >
              >>
              >
              >
              

  • [SOLVED] Can't compile tupi-git or Ktoon from AUR - hardware failure

    EDIT:  Tupi-git compiles fine, just not on my main desktop. the machine, has some nasty hardware problems, caused by a lightning storm/power failure a few weeks ago .
    it appears, the CMOS is damaged (clock skew and other problems), and that the motherboard also has problems (NMI interrupt handler warning, as well as CPU damage, fun).
    it's time to buy some new hardware, i guess.
    Hi everyone,
    I am having a strange issue.  I have been using Tupi-git, for a while - but the other day i went to re-compile it, and now it won't build. it's interesting because i have been able to compile Tupi-git in the past, no problem. i've also tried compiling it manually from git too.
    I am running gnome3 and tupi / ktoon shouldn't have much dependencies to KDE itself (as i said i have compiled Tupi before. I tried to compile Ktoon, thinking it might pull in a dependency i had missed or something, but no dice... I've even chatted with the Tupi developer about it, he even installed Arch and was able to get it to compile...
    however, he is using KDE, so i am wondering if their is some mysterious dependency (although i did try installing kdebase, but it made no difference). my main concern is tupi / not so much ktoon - but i mention ktoon because Tupi is a fork of it.
    I'm at a loss as to what is stopping it, i had thought maybe a linker is missing somewhere, or it can't find a header / library.
    it fails here:
    lavformat -laspell -ltupifwgui -ltupifwcore -ltupifwsound -lz -lQtSvg -lQtXml -lQtOpenGL -lQtGui -lQtNetwork -lQtCore -lGLU -lGL -lpthread
    ../../src/components/paintarea/libpaintarea.a(ktviewdocument.o): In function `KTViewDocument::setSpaceContext()':
    ktviewdocument.cpp:(.text+0x4a96): undefined reference to `KTProject::updateSpaceContext(KTProject::Mode)'
    ktviewdocument.cpp:(.text+0x4b26): undefined reference to `KTProject::updateSpaceContext(KTProject::Mode)'
    ../../src/components/paintarea/libpaintarea.a(ktpaintarea.o): In function `KTPaintArea::frameResponse(KTFrameResponse*)':
    ktpaintarea.cpp:(.text+0xb6b): undefined reference to `KTGraphicsScene::frameResponse(KTFrameResponse*)'
    ../../src/components/paintarea/libpaintarea.a(ktpaintarea.o): In function `KTPaintArea::sceneResponse(KTSceneResponse*)':
    ktpaintarea.cpp:(.text+0x112f): undefined reference to `KTGraphicsScene::sceneResponse(KTSceneResponse*)'
    ../../src/components/paintarea/libpaintarea.a(ktpaintarea.o): In function `KTPaintArea::layerResponse(KTLayerResponse*)':
    ktpaintarea.cpp:(.text+0x333f): undefined reference to `KTGraphicsScene::layerResponse(KTLayerResponse*)'
    collect2: ld returned 1 exit status
    make[2]: *** [../../bin/tupi.bin] Error 1
    make[2]: Leaving directory `/home/ninez/Desktop/tupi/src/shell'
    make[1]: *** [sub-shell-make_default] Error 2
    make[1]: Leaving directory `/home/ninez/Desktop/tupi/src'
    make: *** [sub-src-make_default] Error 2
    and i have log files from but './configure' and the full output of 'make', over here (at pastebin):
    http://pastebin.com/Mbf8Ck2s  ( ./configure logs)
    http://pastebin.com/4iVbbSgF   ( make logs )
    I would appreciate any help, i have been trying to figure this out for a few days, but am not much of a programmer.  in fact, i am supposed to be doing some translations and icon sets / themes for Tupi: Magia 2d .. but this is hindering my ability to do so...
    thanks in advance
    Last edited by triplesquarednine (2011-07-16 18:21:20)

    graysky wrote:Try building one of them in a clean chroot.
    Will try.
    Finally got this working:
    Please add V=1 to the make command on line 89 and rebuild with MAKEFLAGS="-j1" to get verbose output.
    make -f ./scripts/Makefile.build obj=scripts/genksyms
    [...snip...]
    gcc -Wp,-MD,scripts/mod/.empty.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/include -I./arch/x86/include -Iarch/x86/include/generated -Iinclude -I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -m64 -mno-80387 -mno-fp-ret-in-387 -march=native -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -Wframe-larger-than=2048 -fstack-protector-strong -Wno-unused-but-set-variable -fno-var-tracking-assignments -pg -mfentry -DCC_USING_FENTRY -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(empty)" -D"KBUILD_MODNAME=KBUILD_STR(empty)" -c -o scripts/mod/.tmp_empty.o scripts/mod/empty.c
    scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
    /* empty file to figure out endianness / word size */
    ^
    scripts/Makefile.build:257: recipe for target 'scripts/mod/empty.o' failed
    Last edited by quequotion (2015-02-04 13:40:15)

  • Compile errors that don't make any sense

    After spending a day coding, I did something to cause my project file to explode with errors. When I revert everything back to a known working version on source control I still get the same errors. I've tried everything I can think of to fix this. I started this problem while fixing a simple compile warning. I've made sure all the frameworks are included correctly. I feel it must be a project setting thats causing these problems. The GLSprite demo still compiles fine, but no matter how far back I go on source control my project file explodes with the same 121 errors. I'm not sure what I could of changed that won't go away with reverting. Any help would be greatly appreciated. I guess my next attempt will be uninstalling XCode.
    Heres the errors i'm getting
    Line Location UIAlert.h:30: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIAlert.h:40: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIAlert.h:147: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIAlert.h:158: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIBarButtonItem.h:55: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIBarButtonItem.h:74: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIColor.h:17: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:17: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:18: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:18: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:18: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:18: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:19: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:19: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:19: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:19: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:24: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:24: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:25: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:25: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:25: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:25: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:26: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:26: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:26: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:26: error: expected ')' before 'CGFloat'
    Line Location UIColor.h:56: error: expected ')' before 'CGFloat'
    Line Location UIFont.h:15: error: expected ')' before 'CGFloat'
    Line Location UIFont.h:23: error: expected ')' before 'CGFloat'
    Line Location UIFont.h:24: error: expected ')' before 'CGFloat'
    Line Location UIFont.h:25: error: expected ')' before 'CGFloat'
    Line Location UIFont.h:30: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIFont.h:31: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIFont.h:32: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIFont.h:33: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIFont.h:34: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIFont.h:35: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIFont.h:38: error: expected ')' before 'CGFloat'
    Line Location UIGeometry.h:13: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIGeometry.h:16: error: expected ')' before 'top'
    Line Location UIGeometry.h:22: error: 'UIEdgeInsets' has no member named 'left'
    Line Location UIGeometry.h:23: error: 'UIEdgeInsets' has no member named 'top'
    Line Location UIGeometry.h:24: error: 'UIEdgeInsets' has no member named 'right'
    Line Location UIGeometry.h:24: error: 'UIEdgeInsets' has no member named 'left'
    Line Location UIGeometry.h:25: error: 'UIEdgeInsets' has no member named 'bottom'
    Line Location UIGeometry.h:25: error: 'UIEdgeInsets' has no member named 'top'
    Line Location UIGeometry.h:30: error: 'UIEdgeInsets' has no member named 'right'
    Line Location UIGeometry.h:30: error: 'UIEdgeInsets' has no member named 'bottom'
    Line Location UIGeometry.h:30: error: 'UIEdgeInsets' has no member named 'bottom'
    Line Location UIGeometry.h:30: error: 'UIEdgeInsets' has no member named 'right'
    Line Location UIGeometry.h:30: error: 'UIEdgeInsets' has no member named 'top'
    Line Location UIGeometry.h:30: error: 'UIEdgeInsets' has no member named 'left'
    Line Location UIGeometry.h:30: error: 'UIEdgeInsets' has no member named 'left'
    Line Location UIGeometry.h:30: error: 'UIEdgeInsets' has no member named 'top'
    Line Location UIImage.h:52: error: expected ')' before 'CGFloat'
    Line Location UIImage.h:54: error: expected ')' before 'CGFloat'
    Line Location UIImage.h:67: error: expected declaration specifiers or '...' before 'CGFloat'
    Line Location UIInterface.h:35: error: expected ')' before 'CGFloat'
    Line Location UIInterface.h:36: error: expected ')' before 'CGFloat'
    Line Location UIInterface.h:37: error: expected ')' before 'CGFloat'
    Line Location UIInterface.h:38: error: expected ')' before 'CGFloat'
    Line Location UILabel.h:26: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UILabel.h:27: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UILabel.h:29: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UILabel.h:69: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UINavigationBar.h:22: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UINavigationController.h:28: error: expected '=', ',', ';', 'asm' or '_attribute_' before 'UINavigationControllerHideShowBarDuration'
    Line Location UINavigationController.h:43: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UINavigationController.h:44: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIPickerView.h:83: error: expected ')' before 'CGFloat'
    Line Location UIPickerView.h:84: error: expected ')' before 'CGFloat'
    Line Location UIScrollView.h:78: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIScrollView.h:79: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIScrollView.h:108: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIScrollView.h:109: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UISearchDisplayController.h:30: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UISegmentedControl.h:71: error: expected ')' before 'CGFloat'
    Line Location UISegmentedControl.h:72: error: expected ')' before 'CGFloat'
    Line Location UISlider.h:38: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIStringDrawing.h:40: error: expected ')' before 'CGFloat'
    Line Location UIStringDrawing.h:44: error: expected ')' before 'CGFloat'
    Line Location UIStringDrawing.h:62: error: expected ')' before 'CGFloat'
    Line Location UIStringDrawing.h:62: error: expected ')' before 'CGFloat'
    Line Location UIStringDrawing.h:62: error: expected ')' before 'CGFloat'
    Line Location UIStringDrawing.h:64: error: expected ')' before 'CGFloat'
    Line Location UIStringDrawing.h:64: error: expected ')' before 'CGFloat'
    Line Location UIStringDrawing.h:66: error: expected ')' before 'CGFloat'
    Line Location UIStringDrawing.h:66: error: expected ')' before 'CGFloat'
    Line Location UIStringDrawing.h:66: error: expected ')' before 'CGFloat'
    Line Location UITableView.h:48: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITableView.h:49: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITableView.h:50: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITableView.h:183: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITableView.h:184: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITableView.h:185: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITableView.h:316: error: expected ')' before 'CGFloat'
    Line Location UITableView.h:317: error: expected ')' before 'CGFloat'
    Line Location UITableView.h:318: error: expected ')' before 'CGFloat'
    Line Location UITableViewCell.h:64: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITableViewCell.h:66: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITableViewCell.h:118: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITableViewCell.h:159: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITextField.h:46: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITextField.h:58: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITextField.h:59: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITextField.h:60: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITextField.h:61: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITextField.h:62: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITextField.h:86: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UITextField.h:124: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIView.h:183: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIWindow.h:14: error: expected '=', ',', ';', 'asm' or '_attribute_' before 'UIWindowLevel'
    Line Location UIWindow.h:21: error: expected specifier-qualifier-list before 'CGFloat'
    Line Location UIWindow.h:60: error: expected specifier-qualifier-list before 'UIWindowLevel'
    Line Location UIWindow.h:77: error: expected '=', ',', ';', 'asm' or '_attribute_' before 'UIWindowLevelNormal'
    Line Location UIWindow.h:78: error: expected '=', ',', ';', 'asm' or '_attribute_' before 'UIWindowLevelAlert'
    Line Location UIWindow.h:79: error: expected '=', ',', ';', 'asm' or '_attribute_' before 'UIWindowLevelStatusBar'
    Line Location WSMethodInvocation.h:759: error: expected declaration specifiers or '...' before 'CFXMLTreeRef'
    Line Location WSMethodInvocation.h:759: error: expected declaration specifiers or '...' before 'CFXMLTreeRef'
    Line Location WSProtocolHandler.h:486: error: expected declaration specifiers or '...' before 'CFXMLTreeRef'
    Line Location WSProtocolHandler.h:486: error: expected declaration specifiers or '...' before 'CFXMLTreeRef'

    Hi Adam -
    Can we assume your source code control doesn't include the .xcodeproj file? Did you backup the entire project folder at any point? I'm guessing probably not or you would have tried the backup folder by now.
    So to review, are you saying that these compile errors are only showing up in your current project? In addition to GLSprite, can we assume you can compile any of the New Project templates?
    Is the behavior the same when you switch between Debug and Release? Simulator and Device? iPhone OS 3.0 and iPhone 2.x? I assume you've tried Build->Clean All Targets, Xcode->Quit Xcode, and restarting your Mac.
    There's a long list of other things we could check, but if it's only this one project that's broken, I would recommend starting a new project and moving all your source code into the new project. I had to do this once with a nearly complete app because of a similar, mysterious disintegration of my project. Despite my frustration at being unable to isolate the cause, the process went smoothly and took less than two hours. I could have worked faster, but I was trying to rebuild and run at various stages to be sure the project was still clean. I would recommend this, even if you need to make some stub classes to get a subset of the project to link.
    Backing all your files into a new project is strong medicine, but it's likely to work. A re-install of the SDK is no day at the beach either, since you need to carefully clean out the previous installation. If you make a mistake in the cleanup, the new installation may fail, leaving you with two problems: a broken project plus a broken environment.
    Of course if I misunderstood, and you can't even compile a template now, a re-install might be the only choice.
    Hope some part of the above is helpful!
    \- Ray

  • Dive Log Part 3 will compile but won't run

    I need help I am a newbie doing this assignment for class. I am having problems with the Dive Log part 3 tutorial parts 1 & 2 went fine but 3 has given me problems. After fixing all errors to Diver.java, Divelog.java finally compiled then I went to run it and i get a list of errorssome from Diver some from DiveLog. Any help figuring out this mystery would be helpful.

    Ah you have PPC version. Either you can keep using Firefox 3.6.* are try a third party version of Firefox 4.0.* at http://www.floodgap.com/software/tenfourfox/
    The Firefox 4.0 and newer downloads contains the 32-bit and 64-bit version for Intel at moment.

Maybe you are looking for

  • Setting up multi-tier SharePoint 2013

    Hello Friends, I would like to set-up multi-tier farm on my VM. I have installed 2 Windows server partitions. Requirement is to set-up SQL server on 1st VM and 2nd VM will act as App server and WFE. I'm new to this installation stuff, so can you all

  • Recompile before existing Debug mode causes Raptor to hang

    I have been able to do this a few times on 10R2, with Raptor, on Windows 2000 & XP 1) I write a small procedure or package in Raptor. 2) Compile it for debugging. 3) Set a few breakpoints. 4) Run it in debug mode within Raptor. 5) Step through to one

  • How do I uninstall Photoshop Elements 9?

    Just wondering if i need an uninstall app or just grag it to the trash. Thanks

  • WLK1 Table mandatory field data for DATBI & DATAB missing

    Hi ABAPers, I have an issue in production i.e in table WLK1 few records have created which have data missing from mandatory field DATBI & DATAB . Can anyone tell me the reason for that and how to delete those records. Thanks, Soumya .

  • Jpg files from Mac to PC Vista

    I tried to send a jpg attachment to a Vista user, but she says she cannot open it. Mail has a Send Windows Friendly Version check box for attachments, sois there some update needed to send jpgs to a Vista program? I thought jpgs went everywhere; neve