Status & Roadmap
Authors & License
Funding Ultimate++
Search on this site

SourceForge.net Logo

Ultimate++ FAQ






Do I need to uninstall Ultimate first or the installer will do it for me?


If you try to install U++ in the same dir as previous version, installer will detect that and will invoke un-install first.



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.). (Un-install warns about this before proceeding.). If you have any valuable files inside the installation directory, backup them first.



How do I un-install U++ ?


Use normal Add/Remove programs.




U++ Library


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 maintainance, 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).



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.



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.



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 inlined).


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 http://code.google.com/p/upp-mirror/source/checkout.


"trunk/uppsrc" contains U++ library and theide.


Start theide.


Now click on the left "Assembly" pane. Rightclick, 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 toolbar. ("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...


Last edit by koldo on 12/17/2011. Do you want to contribute?. T++