home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / VSCPPv4.zip / VACPP / IBMCPP / HELP / CPPNEW.INF (.txt) < prev    next >
OS/2 Help File  |  1995-05-15  |  37KB  |  956 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. About this Book ΓòÉΓòÉΓòÉ
  3.  
  4. This is an introduction to the exciting new features in VisualAge C++, IBM's 
  5. complete, integrated environment for object-oriented application development. 
  6. With this version, C Set ++ gets a new name to go with all of its improvements 
  7. and new features.  These include: 
  8.  
  9.  Visual Builder 
  10.    A visual application development environment 
  11.  
  12.  Data Access Builder 
  13.    A graphical environment and set of classes that give you object-oriented 
  14.    access to relational data 
  15.  
  16.  SOM Support 
  17.    The System Object Model (SOM) is an object-oriented programming technology 
  18.    for building, packaging, and manipulating objects in a language-neutral 
  19.    manner.  The SOM support in VisualAge C++ includes the ability to create SOM 
  20.    objects directly and the ability to manipulate SOM objects in the Browser 
  21.    and the debugger 
  22.  
  23.  Project Smarts 
  24.    Your fast path to creating your own projects 
  25.  
  26.  Build Smarts 
  27.    A facility to help you quickly change the compile and link options in your 
  28.    project 
  29.  
  30.  QuickBrowse 
  31.    A new Browser facility that lets you browse projects before they are 
  32.    compiled 
  33.  
  34.  That's not all... All of these are described in more detail in this document, 
  35.  along with dozens of other enhancements. The description of "what's new" is 
  36.  divided into three parts: 
  37.  
  38.  New VisualAge C++ Components 
  39.    A description of the brand-new components in this version of VisualAge C++. 
  40.  
  41.  New Features for Existing Components 
  42.    A description of improvements to existing components of VisualAge C++. 
  43.  
  44.  Integration and Information 
  45.    A description of improvements in the integration between components and the 
  46.    information that describes VisualAge C++. 
  47.  
  48.  Important  For details on late changes, features, and restrictions, please 
  49.  ensure you read the README file. 
  50.  
  51.  
  52. ΓòÉΓòÉΓòÉ 1.1. Notices ΓòÉΓòÉΓòÉ
  53.  
  54. Copyright International Business Machines Corporation, 1995. All rights 
  55. reserved. 
  56.  
  57. Note to U.S. Government Users - Documentation related to restricted rights - 
  58. Use, duplication, or disclosure is subject to restrictions set forth in GSA ADP 
  59. Schedule Contract with IBM Corp. 
  60.  
  61. First Edition, June 1995. 
  62.  
  63. This edition applies to Version 3.0 of IBM VisualAge C ++ for OS/2 (30H1664, 
  64. 30H1665, 30H1666) and to all subsequent releases and modifications until 
  65. otherwise indicated in new editions.  Make sure you are using the correct 
  66. edition for the level of the product. 
  67.  
  68. This publication could include technical inaccuracies or typographical errors. 
  69. Changes are periodically made to the information herein; any such changes will 
  70. be reported in subsequent revisions. 
  71.  
  72. Requests for publications and for technical information about IBM products 
  73. should be made to your IBM Authorized Dealer or your IBM Marketing 
  74. Representative. 
  75.  
  76. When you send information to IBM, you grant IBM a nonexclusive right to use or 
  77. distribute the information in any ways it believes appropriate without 
  78. incurring any obligation to you. 
  79.  
  80. Any reference to an IBM licensed program in this publication is not intended to 
  81. state or imply that only IBM's licensed program may be used. Any functionally 
  82. equivalent product, program, or service that does not infringe any of IBM's 
  83. intellectual property rights may be used instead of the IBM product, program, 
  84. or service. Evaluation and verification of operation in conjunction with other 
  85. products, except  those expressly designated by IBM, is the user's 
  86. responsibility. 
  87.  
  88. IBM may have patents or pending patent applications covering subject matter in 
  89. this document.  The furnishing of this document does not give you any license 
  90. to these patents.  You can send license inquiries, in writing, to the IBM 
  91. Director of Licensing, IBM Corporation, 500 Columbus Avenue, Thornwood, NY, 
  92. 10594, USA. 
  93.  
  94. This publication contains examples of data and reports used in daily business 
  95. operations. To illustrate them as completely as possible, the examples include 
  96. the names of individuals, companies, brands, and products. All of these names 
  97. are fictitious and any similarity to the names and addresses used by an actual 
  98. business enterprise is entirely coincidental. 
  99.  
  100.  
  101. ΓòÉΓòÉΓòÉ 1.2. Trademarks and Service Marks ΓòÉΓòÉΓòÉ
  102.  
  103. The following terms used in this publication are trademarks or service marks of 
  104. IBM Corporation in the United States or other countries: 
  105.  
  106.       BookManager 
  107.       C Set ++ 
  108.       DB2/2 
  109.       IBM 
  110.       IBMLink 
  111.       Library Reader 
  112.       Operating System/2 
  113.       OS/2 
  114.       Personal System/2 
  115.       Presentation Manager 
  116.       PS/2 
  117.       VisualAge 
  118.       WorkFrame 
  119.  
  120.  Other company, product, and service names, which may be denoted by a double 
  121.  asterisk(**), may be trademarks or service marks of others. 
  122.  
  123.  
  124. ΓòÉΓòÉΓòÉ 1.3. Using Online Information ΓòÉΓòÉΓòÉ
  125.  
  126. Before you begin to use this information, it would be helpful to understand how 
  127. to navigate through it. You can use the Table of Contents and Index facility to 
  128. locate topics and the Search facility to search the text of this document. You 
  129. can use hypertext links to acquire related information on the current topic. 
  130. Hypertext links appear in a different color (which you can customize using the 
  131. OS/2 Scheme Palette). For example, here is a link to another panel: 
  132. Communicating Your Comments to IBM. By double-clicking on the text of the link 
  133. or by pressing Enter on a highlighted link, you will open a panel of related 
  134. information. When you open a panel, the first link has the focus; to shift the 
  135. focus to other links, use the Tab key. 
  136.  
  137. You should also understand: 
  138.  
  139.      How to Use the Contents 
  140.      How to Obtain Additional Information 
  141.      How to Use Action Bar Choices 
  142.  
  143.  
  144. ΓòÉΓòÉΓòÉ 1.4. How to Use the Contents ΓòÉΓòÉΓòÉ
  145.  
  146. When the Contents window first appears, some topics have a plus (+) sign beside 
  147. them. The plus sign indicates that additional topics are available. 
  148.  
  149. To expand the Contents if you are using a mouse, click on the plus sign.  If 
  150. you are using the keyboard, use the Up or Down Arrow key to highlight the 
  151. topic, and press the plus (+) key. For example, How to Use the Contents has a 
  152. plus sign beside it.  To see additional topics for that heading, click on the 
  153. plus sign or highlight that topic and press the plus (+) key. 
  154.  
  155. To view a topic, double-click on the topic (or press the Up or Down Arrow key 
  156. to highlight the topic, and then press the Enter key). 
  157.  
  158.  
  159. ΓòÉΓòÉΓòÉ 1.5. How to Obtain Additional Information ΓòÉΓòÉΓòÉ
  160.  
  161. After you select a topic, the information for that topic appears in a window. 
  162. Highlighted words or phrases indicate that additional information is available. 
  163. Certain words and phrases are highlighted in a different color from the 
  164. surrounding text. These are called hypertext terms. 
  165.  
  166. If you are using a mouse, double-click on the highlighted word.  If you are 
  167. using a keyboard, press the Tab key to move to the highlighted word, and then 
  168. press the Enter key.  Additional information then appears in a window. 
  169.  
  170.  
  171. ΓòÉΓòÉΓòÉ 1.6. How to Use Action Bar Choices ΓòÉΓòÉΓòÉ
  172.  
  173. Several choices are available for managing the information presented in this 
  174. document. There are three menus on the action bar:  the Services menu, the 
  175. Options menu, and the Help menu. 
  176.  
  177. The actions that are selectable from the Services menu operate on the active 
  178. window currently displayed on the screen. These actions include the following: 
  179.  
  180.  Placing Bookmarks 
  181.    You can set a placeholder so you can retrieve information of interest to 
  182.    you. 
  183.  
  184.  Searching for Information 
  185.    You can find occurrences of a word or phrase in the current topic, selected 
  186.    topics, or all topics. 
  187.  
  188.  Printing Information 
  189.    You can print one or more topics. You can also print a set of topics by 
  190.    first marking the topics in the Contents list. 
  191.  
  192.  Copying Information to a File 
  193.    You can copy a topic that you are viewing to the System Clipboard or to a 
  194.    file that you can edit. This method is particularly useful for copying 
  195.    syntax definitions and program samples into the application that you are 
  196.    developing. 
  197.  
  198.  Using the actions that are selectable from the Options menu, you can change 
  199.  the way your Contents list is displayed. To expand the Contents and show all 
  200.  levels for all topics, choose Expand all from the Options pull-down. You can 
  201.  also press the Ctrl, Shift, and * keys together. 
  202.  
  203.  The actions that are selectable from the Help menu allow you to select 
  204.  different types of help information. 
  205.  
  206.  For information about any of the menu choices, highlight the choice in the 
  207.  menu and press F1. 
  208.  
  209.  
  210. ΓòÉΓòÉΓòÉ 1.6.1. Placing Bookmarks ΓòÉΓòÉΓòÉ
  211.  
  212. When you place a bookmark on a topic, it is added to a list of bookmarks you 
  213. have previously set.  You can view the list, and you can remove one or all 
  214. bookmarks from the list.  If you have not set any bookmarks, the list is empty. 
  215.  
  216. To set a bookmark, do the following: 
  217.  
  218.    1. Select a topic from the Contents. 
  219.    2. When that topic appears, select the Bookmark option from the Services 
  220.       menu. 
  221.    3. If you want to change the name used for the bookmark, type the new name 
  222.       in the field. 
  223.    4. Click on the Place radio button (or press the Up or Down Arrow key to 
  224.       select it). 
  225.    5. Click on OK (or select it and press Enter). The bookmark is then added to 
  226.       the bookmark list. 
  227.  
  228.  
  229. ΓòÉΓòÉΓòÉ 1.6.2. Searching for Information ΓòÉΓòÉΓòÉ
  230.  
  231. You can specify a word or phrase to be searched.  You can also limit the search 
  232. to a set of topics by first marking the topics in the Contents list. 
  233.  
  234. To search for a word or phrase in all topics, do the following: 
  235.  
  236.    1. Select the Search option from the Services menu. 
  237.    2. Type the word or words to be searched for. 
  238.    3. Click on All sections (or press the Up or Down Arrow keys to select it). 
  239.    4. Click on Search (or select it and press Enter) to begin the search. 
  240.    5. The list of topics where the word or phrase appears is displayed. 
  241.  
  242.  
  243. ΓòÉΓòÉΓòÉ 1.6.3. Printing Information ΓòÉΓòÉΓòÉ
  244.  
  245. You can print one or more topics, the index, or the table of contents.  Make 
  246. sure that your printer is connected to the serial port, configured correctly, 
  247. and ready for input. To print: 
  248.  
  249.    1. Select Print from the Services pull-down. 
  250.    2. Select what you want to print. Note that the This section and Marked 
  251.       sections choices are only available if you are viewing a topic or if you 
  252.       have marked topics, respectively.  To mark topics in the table of 
  253.       contents, press the Ctrl key and click on the topics, or use the arrow 
  254.       keys. 
  255.    3. Select Print to print what you've chosen on your printer. 
  256.  
  257.  
  258. ΓòÉΓòÉΓòÉ 1.6.4. Copying Information to a File ΓòÉΓòÉΓòÉ
  259.  
  260. You can copy a topic that you are viewing in two ways: 
  261.  
  262.      Copy copies the topic that you are viewing into the System Clipboard.  If 
  263.       you are using a Presentation Manager (PM) editor (for example, the 
  264.       Enhanced Editor) that copies or cuts (or both) to the System Clipboard, 
  265.       and pastes to the System Clipboard, you can easily add the copied 
  266.       information to your program source module. 
  267.  
  268.      Copy to file copies the topic that you are viewing into a temporary file 
  269.       named TEXT.TMP.  You can later edit that file by using any editor. 
  270.       TEXT.TMP is placed in the directory where your viewable document resides. 
  271.  
  272.  To copy a topic, do the following: 
  273.  
  274.    1. Expand the Contents list and select a topic. 
  275.    2. When the topic appears, select Copy to file from the Services menu. 
  276.    3. The system puts the text pertaining to that topic into the temporary file 
  277.       TEXT.TMP. 
  278.  
  279.  
  280. ΓòÉΓòÉΓòÉ 1.7. Other Information You Might Find Helpful ΓòÉΓòÉΓòÉ
  281.  
  282. This product provides a number of online guides and references that we hope 
  283. you'll find helpful as you develop applications. This information includes 
  284. User's Guides, References, and How Do I help that gives you specific 
  285. instructions for performing common tasks. You can get to this online 
  286. information from the Information folder inside the main product folder.  You 
  287. can also get to it from the Help menu in any of the components of the product. 
  288.  
  289.  
  290. ΓòÉΓòÉΓòÉ 1.8. Communicating Your Comments to IBM ΓòÉΓòÉΓòÉ
  291.  
  292. If there is something you like, or dislike, about this book, please let us 
  293. know.  You can use one of the methods listed below to send your comments to 
  294. IBM.  Please be sure to include the complete title of the publication that you 
  295. are commenting on. 
  296.  
  297. The comments you send should only pertain to the information in this document 
  298. and its presentation.  To request additional publications or to ask questions 
  299. or make comments about the functions of IBM products or systems, you should 
  300. talk to your IBM representative or your authorized IBM remarketer. 
  301.  
  302. When you send comments to IBM, you grant IBM a nonexclusive right to use or 
  303. distribute your comments in any way it believes appropriate without incurring 
  304. any obligation to you. 
  305.  
  306. You can send your comments to IBM in the following ways: 
  307.  
  308.      By mail to the following address: 
  309.  
  310.             IBM Canada Ltd. Laboratory
  311.             Information Development
  312.             2G/345/1150/TOR
  313.             1150 EGLINTON AVENUE EAST
  314.             NORTH YORK, ONTARIO
  315.             CANADA M3C 1H7
  316.  
  317.      By FAX to the following number: 
  318.  
  319.         -  United States and Canada: (416) 448-6161 
  320.         -  Other countries (+1) 416-448-6161 
  321.  
  322.      By electronic mail to one of the following IDs.  Be sure to include your 
  323.       entire network address if you wish to get a reply. 
  324.  
  325.         -  Internet: torrcf@vnet.ibm.com 
  326.         -  IBMLink: toribm(torrcf) 
  327.         -  IBM/PROFS: torolab4(torrcf) 
  328.         -  IBMMAIL: ibmmail(caibmwt9) 
  329.  
  330.  
  331. ΓòÉΓòÉΓòÉ 2. New VisualAge C++ Components ΓòÉΓòÉΓòÉ
  332.  
  333. We're introducing these brand-new components with this version of 
  334. VisualAge C++: 
  335.  
  336.      Visual Builder, a graphical application builder 
  337.      Data Access Builder, a graphical tool and class library for 
  338.       object-oriented access to relational data 
  339.      An all new Browser 
  340.      A faster 32-bit Linker 
  341.      Project Smarts, a facility that helps you create new projects fast 
  342.      Build Smarts, a facility that lets you set the compiler and linker 
  343.       options for your projects quickly so that they can be used with the 
  344.       debugger, Browser, or Performance Analyzer. 
  345.      A programmable Editor 
  346.  
  347.  
  348. ΓòÉΓòÉΓòÉ 2.1. Visual Builder ΓòÉΓòÉΓòÉ
  349.  
  350. Visual Builder is a powerful visual composition editor that you can use to 
  351. create complete object-oriented applications. In Visual Builder, you manipulate 
  352. parts that represent logical elements of your program and graphical interface 
  353. elements, such as pushbuttons and selection lists. You can select from an 
  354. extensive library of predefined parts or create your own.  By arranging these 
  355. parts and setting up connections between them, you can create not only your 
  356. user interface, but also the supporting application logic, often without having 
  357. to write code.  These parts are then mapped directly to Open Class classes 
  358. during code generation. 
  359.  
  360. Visual Builder provides: 
  361.  
  362.      A powerful visual editor that enables you to create complete 
  363.       applications. 
  364.      An extensive library of supplied parts, objects representing both 
  365.       graphical interface and logic, that you can use and reuse in your 
  366.       applications. 
  367.      An editor for creating your own reusable parts, which you can then add to 
  368.       the Parts palette. 
  369.      Support for external program logic written in C++. 
  370.  
  371.  The interface for Visual Builder itself provides toolbars and palettes so you 
  372.  can easily use your mouse to select, drag, and drop objects. 
  373.  
  374.  For more details about Visual Builder and how to get started building 
  375.  applications with it, see the Visual Builder User's Guide 
  376.  
  377.  
  378. ΓòÉΓòÉΓòÉ 2.2. Data Access Builder ΓòÉΓòÉΓòÉ
  379.  
  380. Data Access Builder is an application development tool and a class library that 
  381. provide object-oriented access to DB2/2 relational databases. The application 
  382. development tool allows you to map your existing relational database tables to 
  383. object interfaces as either C++ or SOM IDL (the System Object Model Interface 
  384. Definition Language, the standard language in which class interfaces are 
  385. described in SOM). For example, in a simple case a relational database table 
  386. maps to a class, and a column of a table maps to a class attribute.  The C++ 
  387. objects that you create can be imported into Visual Builder. 
  388.  
  389. In addition to the application development tool, we've also provided a set of 
  390. classes to help you: 
  391.  
  392.      Connect to the database 
  393.      Disconnect from the database 
  394.      Manage transactions 
  395.  
  396.  For details on the application development tool, see the User's Guide. For 
  397.  details on the class libraries that accompany the Data Access Builder, see the 
  398.  Open Class Library User's Guide and the Open Class Library Reference. 
  399.  
  400.  
  401. ΓòÉΓòÉΓòÉ 2.3. Browser ΓòÉΓòÉΓòÉ
  402.  
  403. The Browser is a tool for understanding the structure and content of your C++ 
  404. applications and class libraries.  You can use it to graphically and 
  405. selectively display components of your program and the relationships between 
  406. those components. 
  407.  
  408. Our new Browser is easier to use and faster than the Browser we supplied in 
  409. earlier releases, and the Browser files generated by the compiler are smaller. 
  410. In addition, the new Browser features: 
  411.  
  412.      A simpler user interface that lets you point and select from the object's 
  413.       context menu. You can quickly customize many aspects of this interface, 
  414.       including the fonts and colors. 
  415.      The QuickBrowse feature which allows you to browse a project without 
  416.       having to compile it first 
  417.      Faster loading and querying 
  418.      Data type classification through a Presentation Manager (PM) container 
  419.      Incremental "smart" loads of Browser files 
  420.      The ability to browse a project, library, executable (.EXE), or DLL 
  421.      Support for up to 8 concurrent views 
  422.      A history log 
  423.  
  424.  The Browser is described in more detail in the User's Guide. 
  425.  
  426.  
  427. ΓòÉΓòÉΓòÉ 2.4. Linker ΓòÉΓòÉΓòÉ
  428.  
  429. We've added a new 32-bit linker to complement our 32-bit compiler.  The new 
  430. linker is faster than our previous linker, LINK386, and provides additional 
  431. features such as: 
  432.  
  433.      Template resolution independent of the compiler (meaning you no longer 
  434.       have to invoke the linker through the compiler when you use templates). 
  435.      Linker optimization options for removing unreferenced functions and 
  436.       member functions. These options can significantly reduce the size of your 
  437.       application files. 
  438.      Packing of debug information to reduce the size of your files and 
  439.       potentially improve debugger performance. 
  440.  
  441.  The linker syntax is consistent with that of LINK386 to make the transition 
  442.  easier.  It also supports most LINK386 options along with the new linker 
  443.  options. 
  444.  
  445.  The library maintenance and creation utility has been improved and renamed 
  446.  ILIB.  It has a new output format to improve link time and provide support for 
  447.  new features such as creating browsing information.  The output format used in 
  448.  previous releases is still available if you need it for distribution purposes. 
  449.  
  450.  For more information about the linker, see the User's Guide. 
  451.  
  452.  
  453. ΓòÉΓòÉΓòÉ 2.5. Project Smarts ΓòÉΓòÉΓòÉ
  454.  
  455. Project Smarts is a powerful tool to help you get started writing VisualAge C++ 
  456. applications.  With Project Smarts you select from a catalog of skeleton 
  457. applications that you can use as a base with which to write your own 
  458. applications. 
  459.  
  460. In Project Smarts, you choose from a variety of common applications, including: 
  461.  
  462.      Presentation Manager Application 
  463.      Workplace Shell Application 
  464.      Data Access Application 
  465.      Visual Builder Application 
  466.      C++ Dynamic Link Library (DLL) 
  467.      C DLL 
  468.      Information Presentation Facility (IPF) Context-Sensitive Help 
  469.      IPF Document 
  470.  
  471.  Project Smarts creates a project that has all of the settings defined for the 
  472.  kind of application you chose.  A project is an encapsulation of all of the 
  473.  objects (such as C++ source files, resource files, and make files) that you 
  474.  need to build a single target (such as an object file, an EXE file, or a 
  475.  dynamic link library (DLL)).  A project also has an associated set of actions, 
  476.  such as Edit, Compile, or Debug. The project that Project Smarts creates is 
  477.  complete and development-ready. You can immediately add your 
  478.  application-specific code to this project and customize it to meet your 
  479.  specific requirements without having to set up the basics every time. 
  480.  
  481.  By giving you a convenient starting point, Project Smarts makes it easy for 
  482.  you to exploit the advantages of projects from the start. 
  483.  
  484.  For more information on Project Smarts, see the User's Guide. 
  485.  
  486.  
  487. ΓòÉΓòÉΓòÉ 2.6. Build Smarts ΓòÉΓòÉΓòÉ
  488.  
  489. Build Smarts is a facility that lets you quickly set the options that allow 
  490. your project to be used with the: 
  491.  
  492.      Browser 
  493.      Debugger 
  494.      Performance Analyzer 
  495.  
  496.  Build Smarts sets all of the compiler and linker options that are required by 
  497.  these components so you don't have to change them one-by-one every time you 
  498.  want to examine your project with one of these components. 
  499.  
  500.  
  501. ΓòÉΓòÉΓòÉ 2.7. Editor ΓòÉΓòÉΓòÉ
  502.  
  503. The VisualAge C++ Editor is a programmable editor with a number of features to 
  504. make editing easier. These features include: 
  505.  
  506.      Color highlighting for C and C++ syntax.  The Editor parses your code and 
  507.       highlights language elements like keywords, library functions, and 
  508.       comments, making it easier for you to read your code and find syntax 
  509.       errors. 
  510.      A highly flexible interface.  You can customize many aspects of the 
  511.       Editor, including the colors used for highlighting and the definition of 
  512.       program function (PF) keys and shortcut key combinations. 
  513.      A programmable interface that you can extend to meet your own 
  514.       requirements.  You can also choose one of the predefined editor 
  515.       "personalities" to make the Editor emulate the keyboard behavior of 
  516.       another editor. 
  517.      Direct, context-sensitive help for C and C++ keywords, language, and 
  518.       library elements. 
  519.  
  520.  For more details on the Editor, see the User's Guide. 
  521.  
  522.  
  523. ΓòÉΓòÉΓòÉ 3. New Features for Existing Components ΓòÉΓòÉΓòÉ
  524.  
  525. Although we've added some exciting new components, we've enhanced the existing 
  526. ones, including: 
  527.  
  528.      SOM Support 
  529.      Improved Class Libraries 
  530.      Improved Memory Management 
  531.      Support for POSIX Locales and Functions 
  532.      Optimization Improvements 
  533.      New Debugger Features 
  534.      New WorkFrame Features 
  535.      New Performance Analyzer Features 
  536.  
  537.  We have also made significant changes to the integration of VisualAge C++ 
  538.  components and to the information (hardcopy and online); these changes are 
  539.  described in Integration and Information. 
  540.  
  541.  
  542. ΓòÉΓòÉΓòÉ 3.1. SOM Support ΓòÉΓòÉΓòÉ
  543.  
  544. The IBM System Object Model (SOM) provides a common programming interface for 
  545. building and using objects.  The support for SOM in VisualAge C++ now includes: 
  546.  
  547.      Direct-to-SOM (DTS) option to create SOM classes directly in C++ 
  548.      Support for browsing SOM objects in the Browser 
  549.      Support for debugging SOM objects in the debugger 
  550.  
  551.  For more details on SOM support, see the Programming Guide and the User's 
  552.  Guide. 
  553.  
  554.  
  555. ΓòÉΓòÉΓòÉ 3.2. Improved Class Libraries ΓòÉΓòÉΓòÉ
  556.  
  557. The class libraries that accompany VisualAge C++ have been named IBM Open Class 
  558. to reflect their breadth and flexibility.  Open Class includes updates to the 
  559. existing classes that support: 
  560.  
  561.      User Interface 
  562.      Collections 
  563.      Application Support 
  564.  
  565.  In addition to these updates to the existing classes, Open Class also includes 
  566.  new classes for: 
  567.  
  568.      Data access 
  569.      Multimedia 
  570.      Toolbar support 
  571.      2-D graphics 
  572.      Mouse handling 
  573.      Flyover help (that is, dynamic textual help for the interface element 
  574.       that the mouse pointer is currently on) 
  575.      String parsing 
  576.      Animated buttons 
  577.      Timing 
  578.      Notification support 
  579.  
  580.  For more details on Open Class, see the Open Class Library User's Guide and 
  581.  the Open Class Library Reference. 
  582.  
  583.  
  584. ΓòÉΓòÉΓòÉ 3.3. Improved Memory Management ΓòÉΓòÉΓòÉ
  585.  
  586. In addition to improving our memory allocation methods to increase speed and 
  587. reduce memory waste, we have added functions that you can use to create and 
  588. manage your own heaps of memory.  You can use these user heaps in addition to, 
  589. or in place of, the regular runtime heap. 
  590.  
  591. Debug versions of memory management functions are now available for user heaps 
  592. and for tiled memory, as well as for regular memory.  There are also new 
  593. heap-checking functions, similar to those provided by other C/C++ compilers, 
  594. that you can use to debug your memory management problems. 
  595.  
  596. The debugger has also added heap-checking capabilities. When your application 
  597. stops, you can check the dynamic variables allocated by memory management 
  598. functions on the heap. 
  599.  
  600. Memory management is discussed in general in the Programming Guide, and the new 
  601. functions are described in the C Library Reference. For more details on the 
  602. debugger, see the User's Guide. 
  603.  
  604.  
  605. ΓòÉΓòÉΓòÉ 3.4. Support for POSIX Locales and Functions ΓòÉΓòÉΓòÉ
  606.  
  607. A locale is a collection of data that encodes information about a particular 
  608. language, country, or locality. Locales provide a way to internationalize your 
  609. applications by defining the language, character sets, date and time format, 
  610. and other culturally-determined elements. 
  611.  
  612. VisualAge C++ has added support for locales based on the IEEE POSIX P1003.2 and 
  613. X/Open Portability Guide standards for global locales and coded character set 
  614. conversion. To support locales, we have added a number of new functions, header 
  615. files, environment variables, and utilities.  The functions include a number of 
  616. multibyte functions proposed for addition to the ANSI/ISO C standard. 
  617.  
  618. For more information about locales and how to use them, see the Programming 
  619. Guide. The new functions are described in the C Library Reference. 
  620.  
  621.  
  622. ΓòÉΓòÉΓòÉ 3.5. Optimization Improvements ΓòÉΓòÉΓòÉ
  623.  
  624. VisualAge C++ has a reputation for producing very fast executables. We've 
  625. increased and enhanced the optimizations to improve your program's performance. 
  626.  
  627. We also realize that in some cases, the size of your executable files may be 
  628. more critical than the speed they run at. For this reason, both the compiler 
  629. and the linker have implemented options that reduce the size of your code, 
  630. while still providing some measure of performance improvement. 
  631.  
  632. For more information about optimization and the options that control it, see 
  633. the User's Guide. 
  634.  
  635.  
  636. ΓòÉΓòÉΓòÉ 3.6. New Debugger Features ΓòÉΓòÉΓòÉ
  637.  
  638. Many new features have been added to the debugger, including: 
  639.  
  640.  Deferred breakpoints 
  641.            Allows you to set a breakpoint in a DLL that is not currently 
  642.            loaded. If your application consists of DLLs that are dynamically 
  643.            loaded, use this feature to set breakpoints in the dynamically 
  644.            loaded DLLs that have not been loaded yet. These deferred 
  645.            breakpoints become active once the DLL is loaded. 
  646.  
  647.  Child process debugging 
  648.            Supports debugging of processes started by a parent program. 
  649.  
  650.  Exception filtering 
  651.            Allows you to select the exceptions that you want the debugger to 
  652.            recognize.  An exception occurs when your application is unable to 
  653.            interpret specific requests. 
  654.  
  655.  Check heap when stopping 
  656.            Helps to isolate memory management problems by checking for memory 
  657.            overwriting each time your program stops executing. 
  658.  
  659.  Hide debugger on Run 
  660.            Hides the debugger windows while your application is running. 
  661.  
  662.  Color support 
  663.            Allows you to change the color of the various window elements such 
  664.            as executable lines, non-executable lines, and the breakpoint prefix 
  665.            area. 
  666.  
  667.  SOM (System Object Model) support 
  668.            Allows you to debug SOM objects created with the compiler using 
  669.            Direct-to-SOM support or created with the SOM compiler.  Support 
  670.            includes monitoring SOM classes in the monitor windows. 
  671.  
  672.  Scroll to line number 
  673.            Allows you to scroll to a particular line number in the source code. 
  674.            This feature also provides the ability to set breakpoints. 
  675.  
  676.  Autosave window positions and sizes 
  677.            Saves the window positions and sizes when the windows are moved or 
  678.            re-sized.  Alternatively, you may save the window positions and 
  679.            sizes by position to the debugger windows on the desktop and 
  680.            selecting the Save window positions and sizes choice. 
  681.  
  682.  Integration 
  683.            Provides quick and easy access to other tools such as an editor or 
  684.            the browser.  This feature is available when the debugger is started 
  685.            from within the WorkFrame environment. 
  686.  
  687.  Select include files 
  688.            Allows you to select the include files you want to view. Include 
  689.            files are files that are included in your source file by a compiler 
  690.            directive and are considered program source files. 
  691.  
  692.  Windows menu 
  693.            Displays a list of all the active debugger windows. 
  694.  
  695.  Flyover help for title bar buttons 
  696.            Displays the name of the title bar button when you place your mouse 
  697.            pointer on the button. If you move the mouse pointer across the 
  698.            buttons, the name in the title bar area changes to reflect the 
  699.            button you are on. 
  700.  
  701.  That's not all... In addition to these new features, the following features of 
  702.  the debugger have been enhanced: 
  703.  
  704.  Call stack window 
  705.            Provides the option of displaying a variety of information, 
  706.            including the remaining stack size, the stack frame size, and the 
  707.            return address. 
  708.  
  709.  Breakpoint list window 
  710.            Displays as a window allowing you to continuously monitor the 
  711.            breakpoint list. You can also display the source code where the 
  712.            breakpoint is set. 
  713.  
  714.  Storage window 
  715.            Allows you to monitor expressions in a storage window.  For example, 
  716.            if you are monitoring a pointer, as the pointer changes, the storage 
  717.            window changes to show the new location referenced by the pointer. 
  718.  
  719.  Change address breakpoint 
  720.            Allows you to set a change address breakpoint by typing in an 
  721.            expression. 
  722.  
  723.  Enable program profiling 
  724.            Allows you to enable or disable the use of program profiles which 
  725.            restore a program's breakpoints, source windows and monitors to the 
  726.            same state as when last debugged. 
  727.  
  728.  For details on the debugger, see the User's Guide. 
  729.  
  730.  
  731. ΓòÉΓòÉΓòÉ 3.7. New WorkFrame Features ΓòÉΓòÉΓòÉ
  732.  
  733. The WorkFrame has been completely redesigned to make it easier to use and more 
  734. powerful.  In particular, it now features: 
  735.  
  736.      A new project container with a menu bar and configurable toolbars 
  737.      Project Smarts, to help you create new projects quickly 
  738.      Build Smarts, to help you quickly specify the settings in your project 
  739.       that allow you to examine it with the debugger, Browser, and Performance 
  740.       Analyzer 
  741.      Project hierarchies that give you greater flexibility in managing your 
  742.       software projects 
  743.      The ability to customize projects with your own OS/2, DOS, and Windows 
  744.       tools 
  745.      Complete, integrated interface for selecting options 
  746.  
  747.  For more details on the WorkFrame, see the User's Guide. 
  748.  
  749.  
  750. ΓòÉΓòÉΓòÉ 3.8. New Performance Analyzer Features ΓòÉΓòÉΓòÉ
  751.  
  752. The component that was called EXTRA has a new name: Performance Analyzer.  To 
  753. go along with its new name, it has the following new features: 
  754.  
  755.      Number of threads supported increased to 64. This means that thread-rich 
  756.       programs can be more fully understood. 
  757.      A window manager that ties the different display windows together. 
  758.      The ability to start and stop a trace during an application, instead of 
  759.       tracing the program from start to finish. 
  760.      Support for run-time loaded DLLs. 
  761.      A Timeline diagram that displays user events. 
  762.  
  763.  All of these features make Performance Analyzer an excellent way for you to 
  764.  understand how your code executes.  It can help you locate the "hot spots" in 
  765.  your code so you can concentrate your optimization efforts where they will 
  766.  have the most effect. 
  767.  
  768.  Performance Analyzer is described in more detail in the User's Guide. 
  769.  
  770.  
  771. ΓòÉΓòÉΓòÉ 4. Integration and Information ΓòÉΓòÉΓòÉ
  772.  
  773. In addition to the improvements that have been made to individual components, 
  774. we have updated the overall characteristics of VisualAge C++  Specifically, we 
  775. have improved: 
  776.  
  777.      Component Integration 
  778.      VisualAge C++ Information 
  779.  
  780.  
  781. ΓòÉΓòÉΓòÉ 4.1. Component Integration ΓòÉΓòÉΓòÉ
  782.  
  783. To make the flow between different tools smoother, we've made project actions 
  784. available from each component. You'll notice a new pulldown menu, Project in 
  785. the debugger, Browser, Performance Analyzer, Editor, Data Access Builder, and 
  786. Visual Builder. You can use this menu to access the other components in 
  787. VisualAge C++. 
  788.  
  789. Suppose, for example, that you are editing a piece of source code in a project. 
  790. You can perform a variety of operations on the project, including browsing it, 
  791. debugging it, or building it, simply by selecting one of the entries in the 
  792. Project menu of the Editor.  All of the components of VisualAge C++ feature 
  793. this kind of integration to make it easier for you to take advantage of all of 
  794. the power of VisualAge C++. 
  795.  
  796. The integration of the components of VisualAge C++ is especially evident when 
  797. you use Project Smarts.  When you use Project Smarts to set up a project, all 
  798. of the actions that should be associated with that particular kind of project 
  799. are set up automatically. 
  800.  
  801. In addition to the improved integration that you see in the interface of 
  802. VisualAge C++, there is also integration at other levels, including: 
  803.  
  804.      Open Class was used widely in the creation of the components, and the 
  805.       components themselves use Open Class extensively. 
  806.      The parts that you can reuse in the Visual Builder are based on Open 
  807.       Class classes. 
  808.      The Data Access Builder can create parts that can be imported into the 
  809.       Visual Builder environment. 
  810.  
  811.  You may also notice that the debugger no longer features an Inheritance or 
  812.  Class details view.  Instead, you can invoke the Browser from the debugger for 
  813.  even more information about classes and the class hierarchy than the debugger 
  814.  showed before. 
  815.  
  816.  
  817. ΓòÉΓòÉΓòÉ 4.2. VisualAge C++ Information ΓòÉΓòÉΓòÉ
  818.  
  819. You may not recognize all of the names of the information units (books, online 
  820. references, and so on) that now come with VisualAge C++.  We've reorganized our 
  821. library to make it more useful. For example, we've combined the information on 
  822. how to use the compiler, linker, debugger, Browser, Performance Analyzer, 
  823. WorkFrame, Editor, and utilities into a single User's Guide. We've also 
  824. reorganized the class library information into one reference and one user's 
  825. guide, for your convenience. 
  826.  
  827. To get you started, we have Read Me First!, a hardcopy guide to installing 
  828. VisualAge C++.  The other documents are all available in the .INF online 
  829. format.  These documents are described in the following sections: 
  830.  
  831.      Hardcopy Information 
  832.      Online Information with Hardcopy Available 
  833.      Online Information with No Hardcopy 
  834.      Toolkit Information 
  835.  
  836.  
  837. ΓòÉΓòÉΓòÉ 4.2.1. Hardcopy Information ΓòÉΓòÉΓòÉ
  838.  
  839. You get the following books in online format, and you also get them in hardcopy 
  840. with the diskette version or the CD-ROM Pak.  There are also PostScript files 
  841. for them on the CD-ROM: 
  842.  
  843.  Welcome to VisualAge C++ 
  844.       Gives a brief introduction to VisualAge C++ and describes its key 
  845.       features at a high level. 
  846.  
  847.  Programming Guide 
  848.       Describes coding techniques such as multithreading, creating DLLs, using 
  849.       templates, signal and exception handling, managing memory, and creating 
  850.       programs that use 16-bit and 32-bit code. These descriptions focus mostly 
  851.       on the C and C++ techniques involved, rather than the lower-level OS/2 
  852.       techniques that are described in the Control Program Guide and Reference 
  853.       that is part of the Toolkit Information. 
  854.  
  855.  User's Guide 
  856.       Provides information on how to compile, link, debug, browse, and trace 
  857.       your program.  It also describes how you can use the improved 
  858.       capabilities of the WorkFrame to manage your programs. 
  859.  
  860.  Open Class Library User's Guide 
  861.       Describes the IBM Open Class set of class libraries and how to use them. 
  862.  
  863.  Visual Builder User's Guide 
  864.       Introduces Visual Builder and how to use it to create applications. 
  865.  
  866.  
  867. ΓòÉΓòÉΓòÉ 4.2.2. Online Information with Hardcopy Available ΓòÉΓòÉΓòÉ
  868.  
  869. You get the following books in the .INF online format.  If you wish, you can 
  870. order hardcopy versions of these books. There are also PostScript files for 
  871. these books on the CD-ROM: 
  872.  
  873.  Language Reference Describes the C and C++ language elements. 
  874.  
  875.  C Library Reference Describes the C library functions and how to use them. 
  876.  
  877.  Open Class Library Reference Gives a comprehensive reference to the class 
  878.       libraries that make up IBM Open Class. 
  879.  
  880.  Visual Builder Parts Reference Describes the reusable parts that you can use 
  881.       in Visual Builder to create your applications. 
  882.  
  883.  Building VisualAge C++ Parts for Fun and Profit Describes how to create your 
  884.       own Visual Builder parts. 
  885.  
  886.  
  887. ΓòÉΓòÉΓòÉ 4.2.3. Online Information with No Hardcopy ΓòÉΓòÉΓòÉ
  888.  
  889. You get the following books in the .INF online format only: 
  890.  
  891.  Guide to Sample Programs Guides you through all of the programming samples 
  892.       that come with VisualAge C++. 
  893.  
  894.  Frequently-Asked Questions Gives a list of answers to common questions about 
  895.       VisualAge C++. 
  896.  
  897.  Editor Command Reference Describes the commands for customizing and extending 
  898.       the Editor. 
  899.  
  900.  In addition to these online-only documents, online help is included in all of 
  901.  the individual components of VisualAge C++. 
  902.  
  903.  
  904. ΓòÉΓòÉΓòÉ 4.2.4. Toolkit Information ΓòÉΓòÉΓòÉ
  905.  
  906. In addition to the revised information for VisualAge C++, we have also revised 
  907. the online information for the Toolkit.  You get the following documents in the 
  908. .INF online format: 
  909.  
  910.  Control Program Guide and Reference Describes how to write source code using 
  911.       Control Program functions. 
  912.  
  913.  Presentation Manager Guide and Reference Describes how to write source code 
  914.       using Presentation Manager functions. 
  915.  
  916.  Graphics Programming Guide and Reference Describes how to write source code 
  917.       using Graphical Programming Interface functions. 
  918.  
  919.  Workplace Shell Programming Guide Describes the Workplace Shell, an 
  920.       application environment integrated with OS/2. 
  921.  
  922.  Workplace Shell Programming Reference Describes how to write source code using 
  923.       Workplace classes and methods. 
  924.  
  925.  IPF Guide and Reference Describes how to create online information using the 
  926.       Information Presentation Facility. 
  927.  
  928.  Kernel Debug Reference Describes the use of the Kernel Debugger functions. 
  929.  
  930.  OS/2 Tools Reference Describes how to use the tools in the OS/2 Toolkit. 
  931.  
  932.  OS/2 Bidirectional Language Support Development Guide Describes the 
  933.       Presentation Manager support and application programming interfaces for 
  934.       the Arabic and Hebrew languages. 
  935.  
  936.  SOM Programming Guide Describes how to implement class libraries that exploit 
  937.       the System Object Model (SOM), develop client programs that use these 
  938.       class libraries, and develop applications that use the SOMobjects Toolkit 
  939.       framework. 
  940.  
  941.  SOM Programming Reference Describes the details of the classes, functions, and 
  942.       macros supplied with the SOMobjects Toolkit. 
  943.  
  944.  Multimedia Application Programming Guide Describes application interfaces to 
  945.       help you select and implement functions for your OS/2 multimedia 
  946.       applications. 
  947.  
  948.  Multimedia Subsystem Programming Guide Gives guidelines for creating 
  949.       multimedia subsystems. 
  950.  
  951.  Multimedia Programming Reference Describes how to create OS/2 multimedia 
  952.       applications. 
  953.  
  954.  REXX Reference Describes how to write source code using REXX Program 
  955.       functions. 
  956.