Installation (MS Windows)
What will happen with my sources or programs if I had placed them inside Ultimate directory?
During un-installation, the whole directory is deleted, sorry. That is why your sources are put to separate place (default C:\MyApps.). If you have any valuable files inside the installation directory, backup them first.
How do I un-install U++?
U++ now uses portable approach. All you need to do is just remove directory with U++.
Is there a complete list of U++ widgets?
What is the minimal size of U++ GUI application?
The size of application executable is not the primary design goal. U++ prefers simple maintenance, speed and rapid development of complex applications. We believe that these goals are more important in the age when there are no hard-drives on the market with less than 20GB.
Anyway: the size of Puzzle example, compiled with Microsoft C++ 7.1 with size optimizations is 980KB. This is not great, but you have to consider that this represents self-contained executable with most U++ features compiled in and that past this point the size tends to grow quite slowly.
Typical complex U++ application is 2-3MB long. TheIDE, which is a VERY complex application, has 3.5MB.
Can I create OCX Control using U++?
Yes you can.
When compiling using Visual C++ 2005 compiler, I am getting errors like:
F:\upp\uppsrc\CtrlLib/CtrlLib.t : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
F:\upp\uppsrc\CtrlLib/CtrlLib.t(29) : error C2001: newline in constant
This compiler for some reasons checks whether the content of string literals is correct with respect to default windows character set. For CJK, default character set uses multi-byte encoding and some of sequences in this encoding can be wrong.
This should be fixed by #pragma setlocal("C"), but for some reason it does not seem to work.
The only known solution at the moment is to switch the default encoding of Windows to some single-byte character set (like Windows 1250).
Why compilation of simple examples like "HelloWorld" takes so long? Is not BLITZ supposed to be fast?
The very first build of any GUI example has to build complete U++ library, something you cannot expect to happen in seconds. After this first rebuild, results (object and/or library files) are cached for future similar builds which should be significantly faster.
What is <prj-aux>, <ide-aux> and <temp-aux>?
In order to be able to work with files that are not part of project (aka main package), we have "pseudopackages". There are three:
<prj-aux> list of files is stored with project
<ide-aux> list of files is global - is available in any project
<temp-aux> list of files is temporary, list is empty after TheIDE starts.
"Open file..." (Ctrl+O) places the file into <temp-aux> pseudo-package.
TheIDE ignores international characters. Is it a bug?
Check the code-page of your file. TheIDE does not allow you to enter the character that is not representable in the code-page of your file. You can setup code-page for the file, for the whole package (in package organizer) and also default code-page for TheIDE (default of this default is Win1252).
I would like to launch/execute my application. How can I do that?
Launching application is one of the most important part of programming. It allows you to see how code works on real machine. TheIDE offers two basic ways to do that. First of all you can launch your application using "Execute" button (CTRL + F5) from main tool bar. Moreover, you can run your program directly in debugger by clicking on "Debug" button (F5). The second way is recommended during production process. The execution can be used when you want quickly show your application to other people. The localization of this buttons is shown on the following screen shot:
What is debugging and why should I use it?
The debugger is the program that controls execution of application. As the name suggests, it allows to find bugs easier. It is mainly, because it posses several critical features:
Stopping execution at any place.
Viewing variables values.
Detects the place of application crash.
Print stack trace.
TheIDE natively supports debugger on all platforms. So, using it at development stage is recommended option. Please notice that to take advantage of all features you must build your application in DEBUG option.
How to insert a new file into the package?
Right-click on the file list and invoke "Insert package directory file(s)". This allows you both to insert existing files, but also to insert (create) new files - just type in the name of file (or even several files) into the File field.
Alternatively, in newer versions of TheIDE (Currently available only in nightly builds). You can add new file by right clicking on the file list and select "New package file". This option is available on the top of the list. After that you can specific file type by selecting category. It will automatically select extension for your new file. After that all you need to do is specific file name. Below is the screen shoot that presents where this option is localized:
How to start the layout (image) designer?
Insert a file with the .lay (or .iml) extension to your project. By clicking this file layout (image) designer will be invoked to edit it.
File with layout (.lay) or image list (.iml) switched to the text format. How do I switch it back?
Please invoke menu Edit / Edit using designer, or press hotkey which defaults to Ctrl+T.
In the newer versions of TheIDE we added switch in main tool bar. You can easily switch between text and designer mode by pressing buttons. Below is the screen shot that presents localization of discussed switch:
What is the meaning of "Optimal", "Optimize speed" and "Optimize size" release settings?
Generally, you are not supposed to use "Optimize speed" or "Optimize size".
The thing is that most of application code does not need to be speed optimized. And speed optimized code is generally significantly longer than size optimized code (mostly because all inline functions are really in lined).
Therefore TheIDE / U++ is able to mark files with "F" flag that are supposed to be speed optimized; rest is considered a size optimized code. Usually, only 5-10% of code really needs to be speed optimized.
In the "Optimal" mode, these file flags are used. In "force speed" / "force size", they are ignored. Those two "force" modes in fact are mostly development utilities to allow you comparison between fully speed optimized code and "optimal" version. Anyway, your reaction if "Speed optimized" code is significantly faster than "Optimal" should be to identify more files or packages to have "F" flag and to get the performance on par.
Could someone point me to a detailed, step by step, description how to build the IDE from the fresh SVN sources? (I do have TheIDE installed.)
Get fresh sources from svn://www.ultimatepp.org/upp/trunk/. If you don't know how to do that - please firstly read our documentation site about SVN.
"trunk/uppsrc" contains U++ library and TheIDE.
Now click on the left "Assembly" pane. Right click, choose "New".
To the "Package nests" fill the path to uppsrc from svn (e.g. "c:\uppsrc.svn"). "Output...." fill any nice output path (should not be the same as the path for 2008.1 uppsrc). "Assembly" - fill "uppsrc.svn".
Click OK. Make sure "uppsrc.svn" is selected. In the right pane, choose "ide", push "OK".
Now make sure you build in optimal mode - there is a "weird" combo box (DropList) with left and right drop buttons in the toolbar. Click the right button and choose Optimal.
Then click the bomb in the tool bar. ("Rebuild all").
It should build. Then, if you are in win32, you can choose "Build/Open output directory" to fetch the result. Replace theide.exe in your upp directory. I recommend keeping existing theide.exe under different name as backup.
Note: You might want to use current U++ library too. You can do this by putting it to appropriate assemblies - without much further explanation, try e.g. right clicking Edit on MyApps in the initial TheIDE dialog and see paths.
I have read whole FAQ and I didn't find answer for my question. What should I do?
This FAQ contains only simply set of questions. You can find more information in our official documentation available on our site and bundle with U++. If this doesn't help, you can always ask you question on our official forum.
The image on this site is too small. How can I make it bigger?
Simply, click on it.