Kroni's Classes User's Guide
-- A class library for lazy PM programmers --
About this Guide
Software requirements:
- OS/2 Warp and Visual Age C++.
Hardware Requirements:
- none (anything which runs Warp and VAC++ is good enough).
Copyright Notice
Kroni's Classes had be re-licensed by it's author under the BSD 3 Clauses license.
Disclaimers
I release this software "as is". Use it completely at your own risk. I can not be hold responsible for any damage which is inflicted directly or indirectly to you or other persons or objects in any way by bugs or unexpected behaviour of Kroni's Classes. If you do not accept this, you are not allowed to use the software at all. If these conditions are illegal in your country, it is not allowed to use the software in your country at all.
I wrote this software completely on my own. However, in some countries, even simple algorithms might be copyrighted. This means that in some countries I might not have the right to grant you the above rights. If this is indeed the case in your country, it is not allowed to use the software in your country at all.
Contacting the Author
=Where to get Kroni's Classes
You can download Koni's Classes from the EDM/2 wiki page: Kroni's Classes
Introduction Compiling and linking your programs using the IBM Workframe
You can compile and link the programs that use Kroni's Classes just like any other program, with the following exceptions:
�* Since Kroni's Classes are based on the UICL, you must activate multithreading, e.g. on Options/Compile/Object/Multithread.
�* Since your programs need the header files from Kroni's Classes, you must add a path to them (x:\...\KrClass\include) to your include path, e.g. on Options/Compile/File/Options/Command line include path.
�* Since the Linker must be able to find the library (in x:\...\KrClass\lib), you must tell it where to look for it, e.g. by adding the full name (e.g. x:\...\KrClass\lib\krclas.lib) to Options/Link/Filenames/Libraries to use.
�* Always use the correct version of the library! Depending on whether you use dynamic linkage and/or debugging information, the library must be recompiled using different options. For your convenience, the installation program creates libraries for all cases and gives them these names:
- krclas.lib (dynamic linkage, no debuging information)
- krclasd.lib (dynamic linkage, with debuging information)
- skrclas.lib (static linkage, no debuging information)
- skrclasd.lib (static linkage, with debuging information)
Of course, all other settings must still make sense, e.g. you must link your program as a PM program.
Please remember that linkage and debugging settings have vast influence on the size of the generated code. When you write programs for yourself, you should use dynamic linkage. Even when you distribute your programs, you should consider dynamic linkage. See "Managing Libraries", "Packaging the Visual Age C++ Runtime Libraries" in the Visual Age C++ User's Guide and Reference for more information.
Also, consider using a make file like the one in the demo directory instead of or in addition to the Workframe, since this takes care of all the above.
Basic KrClass objects
All public objects and include files are preceeded by "Kr" to show that they belong to the KrClass library. Private symbols not intended to be of any importance to the user start with "_Kr". I hope that this way, they don't interfere with any other class libraries.
The next few pages will explain some of the basic tasks that can be done using Kroni's Classes.
The asynchronous main() function
The common text output window
The windowed communication class
The printer class
Drawing bitmap cached
Using your own coordinated systems
Extensions
[[Category:]]