Open Class Library (OCL) FAQ: Difference between revisions
Line 163: | Line 163: | ||
=OCL - Errors= | =OCL - Errors= | ||
==Error EDC3086== | |||
==Error LNK2029== | |||
==Error EDC0166, EDC0275, EDC0045 and EDC0046== | |||
=OCL - Fixpacks and CSDs= | =OCL - Fixpacks and CSDs= | ||
=Contributors= | =Contributors= |
Revision as of 14:56, 29 November 2012
General Information
History of the Open Class Library FAQ
The revision history is as follows:
Version | Comment | Author | Date |
0.1 | initial write-up in OS/2's IPF (.INF) format | SC | 1997June20-21 |
0.1a | added table of files at Hobbes | SC | 1997June24 |
0.1b | converted the FAQ to HTML format | SC | 1997June28 |
0.1d | Added animation sample Added LNK2029 information Updated fixpak information Created "Errors in IBM's include files" |
SC | 1997Sept05 |
0.1e | Changed e-mail address Added POV_Launch to the Hobbes index Added custom-draw container information |
SC | 1997Nov02 |
How to obtain a copy of the FAQ
To obtain a HTML copy of the FAQ for local installation, download the file ftp://hobbes.nmsu.edu/pub/os2/dev/cplusplus/ocl_faq.zip.
Unzip this file in it's own directory (if using PKUNZIP, remember to use the /D option to create the subdirectories) and use your favorite web browser to access the files locally.
Where to obtain additional information
The on-line reference for OCL is located in your VisualAge folder, under the VisualAge C++ Information
folder. The reference .INF file should be titled Open Class Library Reference
(D:\IBMCPP\HELP\CLREF.INF
) while a second .INF user's guide is called Open Class Library User's Guide
(D:\IBMCPP\HELP\CPPCLSUG.INF
).
The first book, Open Class Library Reference
has all of the documented methods, objects, and necessary include files. The easiest way to find what you need is probably to click on Classes By Name
, normally the second option from the top (may depend on the version of the documentation).
Note that one of the most useful .INF books which IBM ships with VisualAge can easily be overlooked; in the VisualAge C++ Information
folder is a book called VisualAge C++ Frequently Asked Questions
which deals with quite a few OCL topics.
Additional information on programming using OCL can be obtained from a variety of sources. There is an increase in books published (some of which by IBM) which deal with OCL, as well as numerous sources on the Internet.
For more information, consult:
D:\IBMCPP\SAMPLES\IOC\*
- ftp://hobbes.nmsu.edu/pub/os2/dev/cplusplus/ocl*.zip ([hobbes_index.html index of samples])
- ftp://service.boulder.ibm.com/ps/products/visualagecpp/tools (IBM VB and OCL sample code)
- http://??? (Chinese version of the OCL-FAQ)
- http://www.davebsoft.com/Programming/tips (Dave Briccetti's OS/2 Warp Programming Tips and Samples)
- news://comp.os.os2.programmer.oop
- news://productnews.taligent.com/taligent.products.openclass (Taligent's OCL News Server)
Books which deal with OCL are:
- OS/2 Class Library
- Power GUI programming with C/Set++
- Written by Leon, Law, Love Tsuji & Olson
Published by John Wiley & Sons
ISBN 0-471-13117-2
(Obsolete and replaced by the following book) - Power GUI Programming with VisualAge C++
- Written by Law, Love, Olson & Tsuji
Published by John Wiley & Sons
ISBN 0-471-16482-8
(recommended by Mark Anderson, os2team@romeop03.fishkill.ibm.com)
I need recommendations to more books and internet sites with sample code...
Index of samples on Hobbes
tarting mid-June, 1997, I have begun to upload to ftp://hobbes.nmsu.edu/pub/os2/dev/cplusplus
a series of Open Class Library samples that I have written. The following table is the index of these samples.
Filename | Description | Classes Used |
---|---|---|
animation sample | IApplication, IColor, IDrawingCanvas, IEvent, IFrameWindow, IGBitmap, IGList, IRectangle, ITimer | |
details view container sample | IApplication, IContainerColumn, IContainerControl, IContainerObject, IFrameWindow, IString | |
thread and timer sample (minimized icon fix explained) | IApplication, ICommandEvent, ICommandHandler, IFrameWindow, IListBox, IPushButton, IString, ISystemMenu, IThread, IThreadFn, ITimer | |
animation sample #2 | IApplication, ICommandEvent, ICommandHandler, IColor, IControlEvent, IDrawingCanvas, IFrameWindow, IFrameEvent, IFrameHandler, IGBitmap, IGList, IGraphicContext, IMouseClickEvent, IMouseHandler, IPopUpMenu, ITimerMemberFn0 | |
custom drawing in a details-view container | IApplication, ICnrDrawHandler, IContainerColumn, IContainerControl, IContainerObject, IFrameWindow | |
POV front-end | Some of almost all classes available, including threads, canvases, icons, bitmaps, standard controls, profiles and exceptions. |
- Note
- See also [additional_info.html Where to Obtain Additional Information]
OCL - Compiling
How to Compile
If you wish to correctly compile your OCL application, then the following should be used:
- if you are using the project templates and WorkFrame that come with Visual Age, then
- click on
Tools
- make certain that
View
is set toActions
- expand the
Compile
subtree - right-mouse-click on
C++ Compiler
- select
File Options
- select the
Object
tab - select the
Multithread
option forLibrary selection
(this sets the /Gm+ flag) - click on
OK
- close the tools setup
- regenerate the makefile and recompile
- click on
- if you are compiling from the command-line, or using your own makefiles, then
- use the command
icc.exe /Gm+ /C <other optional compiler flags> myfile.cpp
- use the command
- Note
- See also [required_flag.html /Gm+], [../linking/how_to_link.html How to Link], [../linking/static_linking.html Static Linking] and [../linking/dynamic_linking.html Dynamic Linking]