home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / os2clnt.exe / README.1ST < prev    next >
Text File  |  1996-06-28  |  40KB  |  971 lines

  1.  
  2. ========================================================================
  3.                          IBM VisualAge for Basic
  4.                                README File
  5. ========================================================================
  6.  
  7. Licensed Materials -- Property of IBM.
  8.  
  9. IMPORTANT:  The license for this evaluation copy of IBM VisualAge for
  10. Basic starts just after the table of contents below.  If you are about
  11. to download the product from the World Wide Web, please page down and
  12. read the license.  If you agree to the terms of the license, signify
  13. your agreement by pressing "Continue."  If you do not agree to the terms
  14. of the license, press "Cancel" to exit from the installation procedure.
  15.  
  16. ========================================================================
  17.                             Table of Contents
  18.  
  19.    1. License Agreement
  20.    2. About the Beta Program
  21.    3. Installation Information
  22.    4. Guide to VisualAge for Basic Documentation
  23.    5. Description of Functions Supported in the Beta Code
  24.    6. Description of Known Bugs in the Beta Code
  25.    7. Copyright Notice and Trademarks for this README File
  26.  
  27.  
  28. ========================================================================
  29. 1. EVALUATION LICENSE FOR PROGRAMS NOT GENERALLY AVAILABLE
  30.  
  31. IBM VISUALAGE FOR BASIC
  32.  
  33. PLEASE READ THIS LICENSE AGREEMENT CAREFULLY.  YOU MUST AGREE TO THE
  34. FOLLOWING TERMS AND CONDITIONS BEFORE DOWNLOADING OR INSTALLING IBM
  35. VISUALAGE FOR BASIC (the "SOFTWARE").  IF YOU DO NOT AGREE TO THESE
  36. TERMS, DO NOT DOWNLOAD, INSTALL, OR USE THE SOFTWARE.
  37.  
  38. NOTICE:  The Software is not released for general availability and may be
  39. modified substantially before such release.  The Software may not be at a
  40. level of performance or compatibility of generally available IBM
  41. products.  In addition, IBM does not guarantee that the Software will
  42. ever be released for general availability.  ANY APPLICATION PROGRAMS
  43. PROCESSED OR COMPILED WITH THE SOFTWARE DURING THE EVALUATION PERIOD MAY
  44. NOT REMAIN OPERATIONAL WITH THE SOFTWARE IF IT IS RELEASED FOR GENERAL
  45. AVAILABILITY.
  46.  
  47. 1. Ownership and License.
  48.  
  49. The Software is owned by International Business Machines Corporation or
  50. one of its subsidiaries ("IBM") or an IBM supplier and is copyrighted and
  51. licensed, not sold.  The Software consists of machine-readable
  52. instructions, audio/visual content (such as software documentation) and
  53. related licensed materials.
  54.  
  55. IBM grants you free of charge a non-exclusive, non-transferable license
  56. to download the Software and install and use it on a reasonable number of
  57. client machines for purposes of testing and evaluation only.  The
  58. Software is not to be used for production purposes.
  59.  
  60. You may copy the Software for backup.  You may not:  1) copy, merge,
  61. distribute, sublicense, lease, or rent the Software except as
  62. specifically permitted by this Evaluation License; 2) reverse assemble,
  63. reverse compile, or otherwise translate the Software except as
  64. specifically permitted by law without the possibility of contractual
  65. waiver.
  66.  
  67. 2. Term and Termination
  68.  
  69. IBM may terminate this Evaluation License, with or without cause, by
  70. providing notice to you.  You may terminate this Evaluation License at
  71. any time by deleting or destroying all copies of the Software and
  72. documentation.  Unless either party terminates this License at an earlier
  73. date, your license to the Software expires on its release for general
  74. availability.
  75.  
  76. 3. Warranty Disclaimer and Limitation of Liability
  77.  
  78. IBM licenses the Software to you on an "AS IS" basis, without warranty of
  79. any kind.  IBM HEREBY EXPRESSLY DISCLAIMS ALL WARRANTIES OR CONDITIONS,
  80. EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  81. WARRANTIES OR CONDITIONS OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  82. PURPOSE.  The entire risk arising from use of the Software remains with
  83. you.  Some jurisdictions do not allow for the exclusion or limitation of
  84. implied warranties, so the above limitations or exclusions may not apply
  85. to you.
  86.  
  87. IBM WILL NOT BE LIABLE FOR ANY DIRECT DAMAGES OR FOR ANY SPECIAL,
  88. INCIDENTAL, OR INDIRECT DAMAGES OR FOR ANY ECONOMIC CONSEQUENTIAL DAMAGES
  89. (INCLUDING LOST PROFITS OR SAVINGS), EVEN IF IBM, OR ITS DISTRIBUTOR, HAS
  90. BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  IBM will not be liable
  91. for the loss of, or damage to, your records or data, or any damages
  92. claimed by you based on a third party claim.  Some jurisdictions do not
  93. allow for the exclusion or limitation of incidental or consequential
  94. damages, so the above limitations or exclusions may not apply to you.
  95.  
  96. 4. General
  97.  
  98. This Evaluation License is governed by the substantive laws of the State
  99. of New York applicable to agreements fully executed and performed in New
  100. York.
  101.  
  102. After downloading the Software, you can view or print a copy of this
  103. Evaluation License, along with the complete Copyright Notices for IBM
  104. VisualAge for Basic, in the file NOTICES.TXT in the directory where you
  105. installed the Software.
  106.  
  107. END OF LICENSE AGREEMENT
  108.  
  109. ========================================================================
  110. 2. ABOUT THE BETA PROGRAM
  111.  
  112. ------------------------------------------------------------------------
  113. 2.A. PURPOSE OF THE BETA PROGRAM
  114.  
  115. The purpose of the IBM VisualAge for Basic beta program is to give
  116. customers the opportunity to review technology from IBM.
  117.  
  118. ------------------------------------------------------------------------
  119. 2.B. IBM AND CUSTOMER RESPONSIBILITIES DURING THE BETA PROGRAM
  120.  
  121. What IBM will do during the beta program:
  122.  
  123.  -- Periodically refresh the code and documentation on the World Wide Web.
  124.  
  125.  -- Respond to your questions and problems via the VisualAge for Basic
  126.     Forum on the World Wide Web.  To access this forum, go to the
  127.     VisualAge for Basic web page at http://www.software.ibm.com/ad/vabasic.
  128.  
  129. What IBM asks you to do during the beta program:
  130.  
  131.   -- Evaluate the code and documentation.
  132.  
  133.   -- Provide feedback on function, performance, quality, usability, and
  134.      documentation via the VisualAge for Basic Forum on the World Wide Web.
  135.  
  136. ------------------------------------------------------------------------
  137. 2.C. HOW TO COMMUNICATE WITH IBM DURING THE BETA PROGRAM
  138.  
  139. To ask questions, report problems, or give feedback about IBM VisualAge
  140. for Basic, use the VisualAge for Basic Forum on the World Wide Web.
  141. To access this forum, go to the VisualAge for Basic web page at
  142. http://www.software.ibm.com/ad/vabasic/vabasic.htm
  143.  
  144. ------------------------------------------------------------------------
  145. 2.D. CAUTIONS REGARDING THE BETA PROGRAM
  146.  
  147. IBM makes no promises regarding the eventual delivery of this VisualAge
  148. for Basic beta code as product code.  IBM also takes no responsibility
  149. for errors or potential losses of customer data resulting from the use of
  150. this code.
  151.  
  152. The customer can withdraw from the VisualAge for Basic beta program at
  153. any time.  IBM can discontinue the VisualAge for Basic beta program at
  154. any time.
  155.  
  156.  
  157. ========================================================================
  158. 3. INSTALLATION INFORMATION
  159.  
  160. For information on how to install VisualAge for Basic from the World
  161. Wide Web, including prerequisite and configuration information:
  162.  
  163.   -- If you've already downloaded VisualAge for Basic from the World
  164.      Wide Web, see the file INSTALL.TXT.
  165.  
  166.   -- If you've haven't downloaded VisualAge for Basic yet, return to the
  167.      Home Page (http://www.software.ibm.com/ad/vabasic/vabasic.htm)
  168.      and link to the installation information.
  169.  
  170.  
  171. ========================================================================
  172. 4. GUIDE TO VISUALAGE FOR BASIC DOCUMENTATION
  173.  
  174. ------------------------------------------------------------------------
  175. 4.A. Summary of VisualAge for Basic Documentation
  176.  
  177. VisualAge for Basic documentation includes online help and two online
  178. books:
  179.  
  180. VisualAge for Basic Online Help
  181.  
  182.   -- Provides comprehensive, task-oriented information to help you use
  183.      the VisualAge for Basic graphical user interface to create GUI
  184.      applications, DB2 stored procedures, and DB2 user-defined functions.
  185.  
  186.   -- Provides detailed descriptions of all VisualAge for Basic language
  187.      elements, including all components, events, functions, methods,
  188.      objects, properties, and statements.
  189.  
  190. VisualAge for Basic Programming Guide
  191.  
  192.   -- Tells you how to use the VisualAge for Basic visual development
  193.      environment to develop GUI applications, DB2 stored procedures, and
  194.      DB2 user-defined functions.
  195.  
  196. VisualAge for Basic Data Access Guide
  197.  
  198.   -- Tells you how to access data from VisualAge for Basic applications
  199.      using various data access protocols and APIs.
  200.  
  201.   -- Tells you how to create, build, test, register, call, and manage
  202.      DB2 stored procedures and DB2 user-defined functions.
  203.  
  204.  
  205. ------------------------------------------------------------------------
  206. 4.B. Accessing VisualAge for Basic Documentation
  207.  
  208. To view the VisualAge for Basic general online help, install the product,
  209. then from any product window, select the Help pull-down, or press F1.
  210.  
  211. To view the online books, or the online help for the stored procedure OLE
  212. custom control (SP OCX), install the product, then:
  213.  
  214. -- On OS/2, open the VisualAge for Basic folder, then open the
  215.    VisualAge Information folder, then double click on the Programming
  216.    Guide, Data Access Guide.
  217.  
  218. -- On Windows NT**, open the VisualAge for Basic folder, then click on
  219.    the Programming Guide, Data Access Guide, or SP OCX icon.
  220.  
  221.  
  222. ------------------------------------------------------------------------
  223. 4.C. Suggestions for Using the VisualAge for Basic Documentation:
  224.  
  225. 1. For install instructions:
  226.  
  227.   -- If you've already downloaded VisualAge for Basic from the World
  228.      Wide Web, see the file INSTALL.TXT.
  229.  
  230.   -- If you've haven't downloaded VisualAge for Basic yet, return to the
  231.      Home Page (http://www.software.ibm.com/ad/vabasic) and link to the
  232.      installation information.
  233.  
  234. 2. For an overview and "quick tour" of VisualAge for Basic, see the
  235.    VisualAge for Basic Programming Guide, Chapter 1.
  236.  
  237. 3. For detailed information on how to use the VisualAge for Basic visual
  238.    development environment to develop GUI applications, stored procedures,
  239.    and user-defined functions, see the VisualAge for Basic online help,
  240.    or the Visual Age for Basic Programming Guide, Chapters 2-7.
  241.  
  242. 4. For detailed information on VisualAge for Basic language elements, see
  243.    the VisualAge for Basic online help.
  244.  
  245. 5. For detailed information on VisualAge for Basic programming techniques,
  246.    see the VisualAge for Basic Programming Guide, Chapters 8-13.
  247.  
  248. 6. For detailed information on integrating VisualAge for Basic
  249.    applications with external object systems such as OpenDoc, SOM, and
  250.    OLE, see the VisualAge for Basic Programming Guide, Chapters 14-21.
  251.  
  252. 7. For detailed information on accessing databases, and on creating,
  253.    building, testing, registering, calling, and managing stored procedures
  254.    and user-defined functions, see the VisualAge for Basic online help,
  255.    or the Visual Age for Data Access Guide.
  256.  
  257. 8. For sample programs:
  258.    -- On OS/2, see the \vabasic\samples directory.
  259.    -- On Windows NT, see the \vabasic\samples directory.
  260.  
  261.    README files in the two samples directories and their subdirectories
  262.    explain how to use the sample programs.
  263.  
  264. ========================================================================
  265. 5. DESCRIPTION OF FUNCTIONS SUPPORTED IN THE BETA CODE
  266.  
  267. ------------------------------------------------------------------------
  268. General Scenarios Supported:
  269.  
  270.   -- Create client GUI applications that run on OS/2 and/or Windows NT.
  271.  
  272.   -- Integrate third-party visual and non-visual objects and controls
  273.      developed in C++, SOM, OLE, and OpenDoc into client applications.
  274.  
  275.   -- Define, create, and manipulate objects in Basic using Object
  276.      Oriented extensions to the Basic language.
  277.  
  278.   -- Migrate applications written in Microsoft Visual Basic 3.0 into
  279.      VisualAge for Basic.
  280.  
  281.   -- Edit server procedures locally, and build and debug server
  282.      procedures locally and remotely.
  283.  
  284.   -- Browse stored procedures in the DB2CLI.PROCEDURES catalog, and
  285.      browse user-defined functions in the DB2 catalog.
  286.  
  287.   -- Invoke server procedures from a VisualAge for Basic client and
  288.      from other clients.
  289.  
  290. Definition: "server procedures" is used as a general term that includes
  291. stored procedures and user-defined functions.
  292.  
  293. ------------------------------------------------------------------------
  294. Platforms Supported:
  295.  
  296. Client platforms: OS/2, Windows NT
  297. Server platforms: AIX, OS/2, Windows NT
  298.  
  299. ------------------------------------------------------------------------
  300. Language Supported:
  301.  
  302. The complete VisualAge for Basic language is described in the VisualAge
  303. for Basic online help.  See section 6 in this README file for a list of
  304. known bugs in the beta code.
  305.  
  306. ------------------------------------------------------------------------
  307. Functions Supported:
  308.  
  309.   Project:
  310.   -- Creating a new project
  311.   -- Opening an existing project
  312.   -- Saving the project and changing the project name via Save as
  313.   -- Running the Project
  314.   -- Viewing the project: Forms, Modules, Build files, Components, etc.
  315.   -- Showing a file in full path or just the name
  316.   -- Loading projects written in Microsoft Visual Basic 3.0, modifying
  317.      them, and saving them in Visual Age for Basic format
  318.   -- Building server procedures (creation/deletion)
  319.  
  320.   Forms:
  321.   -- Selection and appropriate menu and icon state
  322.   -- Opening the Code Editor and Menu Editor on it via menu item,
  323.      mouse, keyboard
  324.   -- Showing or hiding design version of selected form
  325.   -- Saving in a file (.i), and changing name of file via Save As
  326.  
  327.   Modules:
  328.   -- Selection and appropriate menu and icon state
  329.   -- Opening Code Editor on it via menu item, mouse, keyboard
  330.   -- Saving in a file (.bas), and changing name of file via Save As
  331.   -- Creating/removing a Module
  332.  
  333.   Window Pulldown:
  334.   -- Property Editor
  335.   -- Toolbox
  336.   -- Menu Editor
  337.   -- Code Editor
  338.   -- Color selector
  339.   -- Component catalog
  340.   -- Stored procedure catalog
  341.   -- User-defined function catalog
  342.  
  343.   Options Pulldown:
  344.   -- Interpreter
  345.   -- Project
  346.   -- Environment
  347.   -- Database
  348.  
  349. ------------------------------------------------------------------------
  350. Components shipped in the beta code:
  351.  
  352.   Checkbox
  353.   Combo Box
  354.   Command Button
  355.   Common Dialog
  356.   Directory List Box
  357.   Drive List Box
  358.   File List Box
  359.   Frame
  360.   Grid
  361.   Horizontal Scrollbar
  362.   Image
  363.   Label
  364.   Line
  365.   Listbox
  366.   OLE Container (NT only)
  367.   OpenDoc Container (OS/2 only)
  368.   Option Button
  369.   Picture Box
  370.   Shape
  371.   Textbox
  372.   Timer
  373.   Vertical Scrollbar
  374.  
  375. ========================================================================
  376. 6. DESCRIPTION OF KNOWN BUGS AND RESTRICTIONS IN THE BETA CODE
  377.  
  378. The known bugs are grouped in the following categories:
  379.   A. Building server procedures
  380.   B. Calling server procedures
  381.   C. Database access
  382.   D. Language elements
  383.   E. Miscellaneous
  384.   F. Run-time problems
  385.   G. User Interface
  386.  
  387.  
  388. ------------------------------------------------------------------------
  389. A. Building Server Procedures
  390. ------------------------------------------------------------------------
  391.  
  392. ------------------------------------------------------------------------
  393. A.1. Building Server Procedures:  Replacing a server procedure on a DB2
  394. server
  395.  
  396. During server procedure development, set the database manager
  397. configuration using KEEPDARI=NO, so that DB2 will unload server
  398. procedures after each call.  (DB2 loads a server procedure into memory
  399. when it runs, and may not unload it from memory to let you replace it.)
  400.  
  401. For execution, set KEEPDARI=YES to give better performance, so that the
  402. server procedures do not need to be reloaded each time they are run.
  403. With KEEPDARI=YES, the following message may appear: "Stored Procedure
  404. DLL cannot be created because it is in use."  This will happen if one
  405. is trying to rebuild a server procedure which has already been run by
  406. DB2.  Stopping and restarting DB2 will free the server procedure from
  407. memory, allowing one to rebuild it.
  408.  
  409. ------------------------------------------------------------------------
  410. A.2. Building Server Procedures:  Running a server procedure on a DB2
  411. server in UNFENCED mode
  412.  
  413. Do not run a server procedure built using VisualAge for Basic on DB2
  414. in UNFENCED mode.  For this beta, run server procedures in FENCED mode.
  415.  
  416. ------------------------------------------------------------------------
  417. A.3. Building Server Procedures:  Building the UNITS UDF sample
  418.  
  419. Before building the UDF in vabasic\samples\udf\units\unitudf.prj,
  420. edit the assignment statement of the global variable Path to use the
  421. path (with a trailing "\" or "/") of the location of the UDF built on
  422. the database server.  For additional details about this and other
  423. UDF samples, browse the README.UDF file in vabasic\samples\udf.
  424.  
  425.  
  426. ------------------------------------------------------------------------
  427. B. Calling Server Procedures
  428. ------------------------------------------------------------------------
  429.  
  430. -------------------------------------------------------------------------
  431. B.1. Calling Server Procedures:  Calling more than 5 stored procedures
  432.  
  433. In DB2 for OS/2 2.1 and some beta releases of DB2 for OS/2 2.1.1, no more
  434. than 5 different stored procedures can be invoked by one application.
  435. The sixth and subsequent calls to different stored procedures receive SQL
  436. error code 1131.  This restriction is removed in the GA version of DB2
  437. for OS/2 2.1.1.
  438.  
  439. In DB2 for OS/2 2.1 and 2.1.1, an application can call the same stored
  440. procedure as many times as system resources permit.
  441.  
  442. ------------------------------------------------------------------------
  443. B.2. Calling Server Procedures:  Matching levels of CLI
  444.  
  445. When calling a stored procedure using CLI, make sure the level of CLI
  446. support on the client and server machines is the same, especially if the
  447. client and server are on different operating systems.
  448.  
  449. ------------------------------------------------------------------------
  450. B.3. Calling Server Procedures:  Calling from a generated executable
  451.  
  452. For OS/2, when a stored procedure is invoked from a generated executable,
  453. Visual Age for Basic will display the following message when running
  454. the executable:
  455.  
  456. "Priority cannot be set for the current thread".
  457.  
  458. This message can be suppressed by setting an environment variable
  459. as follows:
  460.  
  461. set VWSPSETPRTY=NO
  462.  
  463. This environment setting should be made by each OS/2 client running the
  464. generated executable.
  465.  
  466. ------------------------------------------------------------------------
  467. B.4. Calling Server Procedures:  Debugging Stored procedures on NT when
  468. client and server is the same machine
  469.  
  470. When a stored procedure is built and run with the Debug option on, after
  471. the stored procedure is finished, the client's code window may disapper.
  472. This problem can be avoided by putting a break point in statements
  473. after the EXEC SQL CALL in the client code.
  474.  
  475. ------------------------------------------------------------------------
  476. B.5. Calling Server Procedures:  Debugging UDF on NT when client and
  477. server is the same machine
  478.  
  479. When a DB2 UDF is built and run with the Debug option on,
  480. the remote debugger code window for a UDF is not working properly.
  481. If the UDF needs to debugged, use the command line interpreter
  482. (basI.exe) to invoke the UDF, instead of invoking it through a GUI based
  483. application.  Also, the UDF Next Row under Run in the Project window
  484. for the server is greyed out incorrectly - the debugger will
  485. only step through the first row and then exit.
  486.  
  487. ------------------------------------------------------------------------
  488. B.6. Calling Server Procedures:  For UDFs with VARCHAR input or result
  489. arguments
  490.  
  491. A UDF BASIC function should be declared as BASIC data type "string"
  492. and not as a sqlvarchar structure. The result should be
  493. NULL terminated ( & with chr$(0) before return). However, there has
  494. been problems reported for VARCHARs result when client and server
  495. are on different platforms.
  496.  
  497. ------------------------------------------------------------------------
  498. B.7. Calling Server Procedures:  Running UDFs on Windows NT
  499.  
  500. For Windows NT systems with VisualAge for Basic Server installed, the
  501. path <SPSERVER>\BIN needs to be added to the PATH environment variable
  502. on the System page of the Control Panel.
  503.  
  504. ------------------------------------------------------------------------
  505. B.8. Calling Server Procedures:  Must set Database name
  506.  
  507. For the samples\cli\outclic.prj, one must use the Options ==> Set
  508. Database Name to a valid database alias prior to running.
  509.  
  510.  
  511. ------------------------------------------------------------------------
  512. C. Database Access
  513. ------------------------------------------------------------------------
  514.  
  515. ------------------------------------------------------------------------
  516. C.1. Database Access:  CLI SQLProcedures function
  517.  
  518. The CLI SQLProcedures function cannot be used to access information from
  519. the DB2CLI.PROCEDURES table that VisualAge for Basic has inserted.
  520. Attempting this results in a CLI0166E PARMLIST syntax error, because
  521. the VisualAge for Basic parameter descriptions currently use Basic
  522. datatypes, which are not supported by CLI.  You can use the CLI procs
  523. sample to access only information that respects the restrictions
  524. documented in the DB2 for OS/2 CLI Guide and Reference, Appendix G.
  525. See the vabasic\samples\cli\procx.prj sample for how to bypass this
  526. restriction.
  527.  
  528. ------------------------------------------------------------------------
  529. C.2. Database Access:  DB2 not started or CONNECT RESET missing
  530.  
  531. If a message appears in the Code Window saying "DB2 is not started or a
  532. CONNECT RESET statement is missing," and you have verified that DB2 is
  533. started and you have appropriate CONNECT RESET statements in place, exit
  534. VisualAge for Basic and then start it again.
  535.  
  536. ------------------------------------------------------------------------
  537. C.3. Database Access:  Sample code not working
  538.  
  539. The descriptor form of the CALL embedded SQL statement does not work.
  540. This call has been commented out of the sample
  541. vabasic\samples\embed\outcli.prj.
  542.  
  543. On a Windows NT Server, the sample vabasic\samples\cli\outcli.prj does
  544. not return the correct result from the stored procedure.
  545.  
  546. ------------------------------------------------------------------------
  547. C.4. Database Access:  CLI Samples not working
  548.  
  549. Parts of the following CLI samples in vabasic\samples\cli are not
  550. returning expected results on OS/2:
  551.  
  552.    browser.prj, embedded.prj, getinfo.prj, lookres.prj, outsrv2.prj,
  553.    procs.prj, typeinfo.prj
  554.  
  555.  
  556. ------------------------------------------------------------------------
  557. D. Language Elements
  558. ------------------------------------------------------------------------
  559.  
  560. ------------------------------------------------------------------------
  561. D.1. Language Elements:  Lock and Unlock statements
  562.  
  563. The Lock and Unlock statements are not supported.
  564.  
  565. ------------------------------------------------------------------------
  566. D.2. Language Elements:  PrintForm method
  567.  
  568. The PrintForm method on a form is not implemented.
  569.  
  570. Details: The printer does not behave as expected when the following code
  571. is entered in the Form_Click method:
  572.  
  573.   printer.print "This may never print"
  574.   printer.enddoc
  575.  
  576. In addition, there should be an implicit Printer.EndDoc when the
  577. application has finished executing (providing it has printed something).
  578.  
  579. Workaround: save the form to a file and print it from there.
  580.  
  581. ------------------------------------------------------------------------
  582. D.3. Language Elements:  Language Reference examples not working
  583.  
  584. On OS/2, the Language Reference examples for MDIChild property and Resize
  585. event are not working.
  586.  
  587. ------------------------------------------------------------------------
  588. D.4. Language Elements:  Title Property - not working in a generated
  589. executable.
  590.  
  591. On OS/2 and Windows/NT the Title property does not work properly when
  592. set in a generated executable.
  593.  
  594.  
  595. ------------------------------------------------------------------------
  596. E. Miscellaneous
  597. ------------------------------------------------------------------------
  598.  
  599. ------------------------------------------------------------------------
  600. E.1. Miscellaneous: Creating a SOM object on a form
  601.  
  602. When you create a SOM object on a form, VisualAge for Basic may crash.
  603.  
  604. Details: when you select a SOM class from the Component Catalog, and use the
  605. Toolbox to create a SOM object on a form, VisualAge for Basic may crash.
  606.  
  607. SOM objects that may cause this error include: AttributeDef, ConstantDef,
  608. Contained, ExceptionDef, InterfaceDef, ModuleDef, OperationDef,
  609. ParameterDef, SOMDClientProxy, SOMMSingleInstance, and TypeDef.
  610.  
  611. Actions that may cause this error include:
  612.   -- Selecting the object on the form and clicking on the Delete key.
  613.   -- Going to the File menu and selecting New Project
  614.   -- Going to Project Window Run Menu and clicking on Run, then on End
  615.  
  616.  
  617. ------------------------------------------------------------------------
  618. E.2. Miscellaneous: Renaming DLLs for Microsoft Visual Basic
  619.  
  620. If you plan to use Microsoft Visual Basic 4.0 with IBM VisualAge for
  621. Basic client on Windows NT, you will need to rename the following DLLs
  622. located in the vabasic\bin directory to a backup name (for example, by
  623. replacing the DLL extension with BLL):
  624.  
  625.    CTL3D32.DLL           MSVCR40.DLL
  626.    MFC40.DLL             MSVCRT40.DLL
  627.    MFCO40.DLL            OLEPRO32.DLL
  628.  
  629. ------------------------------------------------------------------------
  630. E.3. Miscellaneous:  The Two-Dimensional Graphics Part
  631.  
  632. The Two-Dimensional Graphics Part (shipped with the OpenDoc
  633. runtime), will crash VisualAge for Basic if the "link" pages
  634. are selected from the OpenDoc Properties notebook. The link
  635. pages are not active, so this is not a functional problem.
  636.  
  637. ------------------------------------------------------------------------
  638. E.4. Miscellaneous:  The OpenDoc Cookbook part
  639.  
  640. The OpenDoc Cookbook part is not recommended for use in
  641. VisualAge for Basic at this time.
  642.  
  643. ------------------------------------------------------------------------
  644. E.5. Miscellaneous:  The OpenDoc MultiMedia parts
  645.  
  646. The OpenDoc MultiMedia parts (shipped with the Developer's
  647. Connection) work best if they are first contained within
  648. other container parts.  For example, instead of using the
  649. Video Part as the root part of an OpenDoc document, use a
  650. container part as the root and embed the Video Part in it
  651. (example container parts include the Page Layout and Text
  652. Parts shipped with the OpenDoc runtime or the Container Part
  653. shipped with the Warp Toolkit).  This is also a useful tip for
  654. other OpenDoc parts that do not behave as expected.
  655.  
  656. ------------------------------------------------------------------------
  657. E.6. Miscellaneous:  Generating executables from projects building
  658. Stored Procedures and/or User-Defined Functions
  659.  
  660. If a project thats calls a stored procedure or user-defined function is
  661. also the project that builds them, then there will be error messages
  662. when building and/or executing the project as a generated executable.
  663. The following workaround can be used to build an executable client
  664. application:
  665.  
  666. 1) Start VisualAge for Basic and load the project.
  667. 2) Run the application.
  668. 3) Stop the application.
  669. 4) In the project window, remove any files in the Stored Procedure
  670.    or User-Defined Function categories (do NOT save the project).
  671. 5) Build an executable file.
  672. 6) Exit VisualAge for Basic (do NOT save the project), and run the
  673.    generated executable.
  674.  
  675. ------------------------------------------------------------------------
  676. E.7. Miscellaneous:  Font Migration
  677.  
  678. If a font name specified in a VisualAge for Basic application is not
  679. installed on the machine loading or running the application, then the
  680. font will be changed to the default font of the operating system (for
  681. example, System font for Windows NT, System Proportional font for OS/2).
  682. One side effect of this behavior is that invalid font names are not
  683. flagged as errors in the Property Editor or the Code Editor.
  684.  
  685. ------------------------------------------------------------------------
  686. E.8. Miscellaneous:  VBX/OCX Migration
  687.  
  688. Users of Microsoft Visual Basic 3.0 and VBX controls may be able to
  689. migrate their applications into VisualAge for Basic and use the
  690. equivalent OCX.  Follow these steps:
  691.  
  692.  1. Save any .FRM files as text files (not binary files) in Microsoft
  693.     Visual Basic 3.0.
  694.  
  695.  2. Start VisualAge for Basic for Windows NT
  696.  
  697.  3. In the Project window, select Window ==> Component Catalog.
  698.  
  699.  4. Select the OLE components to be used in the application.  As a
  700.     component is selected, any needed icons will be placed in the
  701.     ToolBox window.
  702.  
  703.  5. Create an instance of each added OCX in Form1.
  704.  
  705.  6. Open the Property Editor.  Select each OCX instance on Form1 and
  706.     note the class name which is enclosed in () after the name of the
  707.     component in the selection window of the Property Editor.
  708.  
  709.  7. Using a text editor (NotePad, for example), inspect the .FRM files
  710.     for the class names of the VBXs used in the application.  Some VBX
  711.     vendors rename the class name in their OCX versions of their
  712.     controls.  If the class names are different, edit the .FRM file to
  713.     use the OCX class names instead of the VBX class names.  Instance
  714.     names (the Component.Name property) do not need to be modified.
  715.  
  716.  8. Save any modified files.
  717.  
  718.  9. Remove the Form1 modified in VisualAge for Basic from the untitled
  719.     project choosing Selected ==> Remove in the Project Window.
  720.  
  721. 10. In the Project Window, select File ==> Add File to individually load
  722.     each file of the application.
  723.  
  724. 11. Choose Selected ==> Show Form to view each form in Design Mode.  Make
  725.     sure that each component, including the migrated OCX component
  726.     instances, is displayed in each form as it appeared in Visual Basic
  727.     3.0.
  728.  
  729. 12. Choose File ==> Save Project As to create a .PRJ file that can be
  730.     used to load the converted project into VisualAge for Basic.
  731.  
  732. ------------------------------------------------------------------------
  733. E.9. Miscellaneous:  OCXs with variable number of arguments
  734.  
  735. This beta does not support OCX controls which accept a variable number
  736. of arguments in a method call.
  737.  
  738. ------------------------------------------------------------------------
  739. E.10. Miscellaneous:  DBCS Font Name
  740.  
  741. Statements in the Sub main in samples\db2api\util.bas and in
  742. samples\cli\samputil.bas set the font name for the iOutput form
  743. to "Courier" so that output can be displayed in aligned columns.
  744. In a DBCS environment, the Courier font cannot display double-byte
  745. characters; therefore, DBCS users should change the font name
  746. MINCHO or some other DBCS font.
  747.  
  748. ------------------------------------------------------------------------
  749. E.11. Miscellaneous:  DBCS Data in CLI calls
  750.  
  751. When passing arguments that contain DBCS characters in CLI calls, be
  752. sure to use byte counting, not character counting, functions like LenB,
  753. InStrB, MidB.
  754.  
  755. ------------------------------------------------------------------------
  756. E.12. Miscellaneous:  Options Interface
  757.  
  758. For this beta, one should perform end user customization features
  759. available for the VisualAge for Basic development environment by making
  760. settings directly in the vabasic\config\instpref.ini file.  The Options
  761. menu of the Project Window is not working for Interpreter, Project,
  762. and Environment settings.  See Appendix A., "Customizing VisualAge for
  763. Basic Interfaces", in the VisualAge for Basic Programming Guide for
  764. more details.
  765.  
  766.  
  767. ------------------------------------------------------------------------
  768. F. Run-Time Problems
  769. ------------------------------------------------------------------------
  770.  
  771. ------------------------------------------------------------------------
  772. F.1. Run-Time Problems:  Restriction on dynamic array passing
  773.  
  774. Because DB2 cannot determine the size of a ReDim-ed array during run
  775. time, it can only handle the default value of MAXARRAYSIZE.
  776.  
  777. On OS/2 and Windows NT clients, if the array being ReDim-ed is larger
  778. than the default value of MAXARRAYSIZE, it will cause a SQL0822N error
  779. ("The SQLDA contains a data address or indicator variable address which
  780. is not valid.").
  781.  
  782. Solution:  VisualAge for Basic provides an environment variable called
  783. MAXARRAYSIZE.  Its default values are 64KB on AIX, 10KB on OS/2, and
  784. SQLMAXBLOB on Windows.  Set this environment variable to be the same or
  785. larger than the array's ReDim-ed size.  For example:
  786.  
  787. /*  OS/2 clients: foo.bas module  */
  788.     subroutine foo()
  789.        Dim array1() as integer
  790.        Redim array1(10, 2000);
  791. /*  End of subroutine foo()  */
  792.  
  793. In this example, the array's ReDim-ed size (10 x 2000 or 20,000) is
  794. larger than the default value of MAXARRAYSIZE on OS/2 (10KB), so you need
  795. to set the MAXARRAYSIZE environment variable to 20,000 or greater.
  796.  
  797. To improve performance, you can set MAXARRAYSIZE less than the default
  798. value, as long as it is as large or larger than any ReDim-ed arrays in
  799. your program.  Here are the maximum sizes for any ReDim-ed arrays in your
  800. program:  OS/2 = 27 KB  (27,648 bytes),  Windows NT = 32KB
  801. (32,768 bytes).
  802.  
  803. ------------------------------------------------------------------------
  804. F.2. Run-Time Problems:  ScaleWidth/ScaleHeight properties
  805.  
  806. If a program performs a resize in its code (in other words, changes the
  807. value of the Width and/or Height property), VisualAge for Basic does not
  808. update the ScaleWidth and ScaleHeight properties.
  809.  
  810. If a user manually resizes a form, VisualAge for Basic updates the
  811. ScaleWidth and ScaleHeight properties correctly.
  812.  
  813. If the ScaleMode is set to a value different than 1 (Twips), then the
  814. ScaleHeight and ScaleWidth values may be incorrect at runtime.
  815.  
  816. ------------------------------------------------------------------------
  817. F.3. Run-Time Problems:  .FRM file extension
  818.  
  819. Form filenames must have the extension .FRM if saved in the Microsoft
  820. Visual Basic 3.0 format (Visual Basic 4.0 forms cannot be loaded into
  821. VisualAge for Basic).  Form filenames must have the extension .I if saved
  822. in the IBM VisualAge for Basic format.  The .FRM format files must be
  823. saved as text prior to loading in VisualAge for Basic (Save As Text is an
  824. option in the Save File As dialog of Visual Basic 3.0).
  825.  
  826. ------------------------------------------------------------------------
  827. F.4. Run-Time Problems:  Running executables while VisualAge for Basic
  828. is running.
  829.  
  830. On OS/2, one cannot run a generated executable while VisualAge for Basic
  831. is running.
  832.  
  833. ------------------------------------------------------------------------
  834. F.5. Run-Time Problems:  Generating working executables
  835.  
  836. VisualAge for Basic will not generate a working executable unless the
  837. project has been run in the development environment prior to generating
  838. the executable.  If the application contains an embedded image (example,
  839. the Picture property has been set in the Property editor), then the
  840. project also must be saved prior to generating an executable.
  841.  
  842. So the proper sequence is:
  843. 1) Load a project
  844. 2) Make any desired modifications
  845. 3) Save the project
  846. 4) Generate an executable
  847. 5) If on OS/2, exit VisualAge for Basic
  848. 6) In a command window, run the generated executable.
  849.  
  850. ------------------------------------------------------------------------
  851. F.6. Run-Time Problems:  Calling external functions
  852.  
  853. On OS/2, all function calls made to external functions must be made to
  854. DLLs which use the _system linkage convention.  DLLs which use the
  855. _optlink system linkage convention are not supported in this beta.
  856.  
  857.  
  858. ------------------------------------------------------------------------
  859. G.  User Interface
  860. ------------------------------------------------------------------------
  861.  
  862. ------------------------------------------------------------------------
  863. G.1. User Interface:  Mnemonic characters not working on OS/2
  864.  
  865. On OS/2, if Fixpack 17 has not been applied, the mnemonic character in
  866. the caption of labels and buttons (check box, option, and command
  867. buttons) does not appear underlined.
  868.  
  869. ------------------------------------------------------------------------
  870.  
  871. G.2. User Interface:  MDI Interface on OS/2
  872.  
  873. The MDI interface on OS/2 is not operational.  If a user attempts to
  874. use MDI on OS/2, VisualAge for Basic will terminate with an error.
  875.  
  876. ------------------------------------------------------------------------
  877.  
  878. G.3. User Interface:  DBCS Status Bar Property on OS/2
  879.  
  880. The DBCS Status Bar Property on OS/2 may not be set to false.
  881.  
  882. ------------------------------------------------------------------------
  883.  
  884. G.4. User Interface:  Unload Statement
  885.  
  886. You are unable to reload a form that was previously unloaded by a
  887. subroutine within the unloaded form.  Unloading a form from a
  888. subroutine in another form or module will allow it to be reloaded.
  889.  
  890. ------------------------------------------------------------------------
  891.  
  892. G.5. User Interface:  Cols and Rows Properties
  893.  
  894. There is a repainting problem when decreasing the number of rows and
  895. columns within a grid component.
  896.  
  897. ------------------------------------------------------------------------
  898.  
  899. G.6. User Interface:  Checked Property
  900.  
  901. There is an error in the vabasic\samples\langref\checked.i that prevents
  902. it from running.  The code listed in the online Language Reference is
  903. correct, however.
  904.  
  905. ------------------------------------------------------------------------
  906.  
  907. G.7. User Interface:  Popup Menus
  908.  
  909. Popup menus are not working.
  910.  
  911. ------------------------------------------------------------------------
  912.  
  913. G.8. User Interface:  Screen Resolution Migration
  914.  
  915. If a form in an application written on a machine with one screen
  916. resolution is migrated to a machine with less screen resolution, and
  917. the form's width and/or height now exceeds the screen size, then an error
  918. occurs when displaying the form in design and run modes.
  919.  
  920. ------------------------------------------------------------------------
  921.  
  922. G.9. User Interface:  Form duplication
  923.  
  924. There are problems occuring when creating an new instance of an existing
  925. form, such as:
  926.  
  927.     Dim Form2 As New Form1
  928.  
  929. ------------------------------------------------------------------------
  930.  
  931. G.10. User Interface:  Invalid property settings
  932.  
  933. VisualAge for Basic for OS/2 crashes when the following properties are
  934. set to negative values (these value are invalid settings):
  935.  
  936.    Textbox.MaxLength
  937.    HorizontalScrollBar.SmallChange
  938.    HorizontalScrollBar.LargeChange
  939.    VerticalScrollBar.SmallChange
  940.    VerticalScrollBar.LargeChange
  941.    CommonDialog.MaxFileSize
  942.  
  943. ------------------------------------------------------------------------
  944.  
  945. G.11. User Interface:  Setting Menu properties
  946.  
  947. When setting a menu property using the property editor, the first change
  948. will always display the error message "-404 Invalid Property Value".
  949. Retrying the change (by clicking on that property's name or indicator
  950. area), and any subsequent changes for the menu, will not produce this
  951. error message.
  952.  
  953.  
  954. ========================================================================
  955. 7. COPYRIGHT NOTICE AND TRADEMARKS FOR THIS README FILE
  956.  
  957. (C) Copyright International Business Machines Corporation 1996.
  958. All Rights Reserved.
  959.  
  960. AIX, DB2, DB2/2, DB2/6000, IBM, and OS/2 are trademarks of International
  961. Business Machines Corporation.
  962.  
  963. Microsoft, Windows, and the Windows 95 logo are trademarks or registered
  964. trademarks of Microsoft Corporation.
  965.  
  966. Other company, product, and service names, which may be denoted by a
  967. double asterisk (**), may be trademarks or service marks of others.
  968.  
  969.  
  970. ========================================================================
  971.