home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1996 November / VPR9611B.ISO / vabasic / os2clnt.exe / README.1ST < prev    next >
Text File  |  1996-08-01  |  40KB  |  939 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. VisualAge for Basic Tutorials
  205.  
  206.   -- PostScript files that describe how to perform common tasks in
  207.      step-by-step detail.
  208.  
  209.   -- Source code included with tutorials.
  210.  
  211.   -- Located in vabasic\samples\tutorial subdirectory.
  212.  
  213. ------------------------------------------------------------------------
  214. 4.B. Accessing VisualAge for Basic Documentation
  215.  
  216. To view the VisualAge for Basic general online help, install the product,
  217. then from any product window, select the Help pull-down, or press F1.
  218.  
  219. To view the online books, or the online help for the stored procedure OLE
  220. custom control (SP OCX), install the product, then:
  221.  
  222. -- On OS/2, open the VisualAge for Basic folder, then open the
  223.    VisualAge Information folder, then double click on the Programming
  224.    Guide, Data Access Guide, and InterSolv ODBC Reference.
  225.  
  226. -- On Windows NT/95**, open the VisualAge for Basic folder, then click on
  227.    the Programming Guide, Data Access Guide, or SP OCX icon.
  228.  
  229.  
  230. ------------------------------------------------------------------------
  231. 4.C. Suggestions for Using the VisualAge for Basic Documentation:
  232.  
  233. 1. For install instructions:
  234.  
  235.   -- If you've already downloaded VisualAge for Basic from the World
  236.      Wide Web, see the file INSTALL.TXT.
  237.  
  238.   -- If you've haven't downloaded VisualAge for Basic yet, return to the
  239.      Home Page (http://www.software.ibm.com/ad/vabasic) and link to the
  240.      installation information.
  241.  
  242. 2. For an overview and "quick tour" of VisualAge for Basic, see the
  243.    VisualAge for Basic Programming Guide, Chapter 1.
  244.  
  245. 3. For detailed information on how to use the VisualAge for Basic visual
  246.    development environment to develop GUI applications, stored procedures,
  247.    and user-defined functions, see the VisualAge for Basic online help,
  248.    or the Visual Age for Basic Programming Guide, Chapters 2-7.
  249.  
  250. 4. For detailed information on VisualAge for Basic language elements, see
  251.    the VisualAge for Basic online help.
  252.  
  253. 5. For detailed information on VisualAge for Basic programming techniques,
  254.    see the VisualAge for Basic Programming Guide, Chapters 8-13.
  255.  
  256. 6. For detailed information on integrating VisualAge for Basic
  257.    applications with external object systems such as OpenDoc, SOM, and
  258.    OLE, see the VisualAge for Basic Programming Guide, Chapters 14-21.
  259.  
  260. 7. For detailed information on accessing databases, and on creating,
  261.    building, testing, registering, calling, and managing stored procedures
  262.    and user-defined functions, see the VisualAge for Basic online help,
  263.    or the Visual Age for Data Access Guide.
  264.  
  265. 8. For sample programs:
  266.    -- On OS/2, see the \vabasic\samples directory.
  267.    -- On Windows NT/95, see the \vabasic\samples directory.
  268.  
  269.    README files in the two samples directories and their subdirectories
  270.    explain how to use the sample programs.
  271.  
  272. ========================================================================
  273. 5. DESCRIPTION OF FUNCTIONS SUPPORTED IN THE BETA CODE
  274.  
  275. ------------------------------------------------------------------------
  276. General Scenarios Supported:
  277.  
  278.   -- Create client GUI applications that run on OS/2 and/or Windows
  279.      NT/95.
  280.  
  281.   -- Integrate third-party visual and non-visual objects and controls
  282.      developed in C++, SOM, OLE, and OpenDoc into client applications.
  283.  
  284.   -- Define, create, and manipulate objects in Basic using Object
  285.      Oriented extensions to the Basic language.
  286.  
  287.   -- Migrate applications written in Microsoft Visual Basic 3.0 into
  288.      VisualAge for Basic.
  289.  
  290.   -- Edit server procedures locally, and build and debug server
  291.      procedures locally and remotely.
  292.  
  293.   -- Browse stored procedures in the DB2CLI.PROCEDURES catalog, and
  294.      browse user-defined functions in the DB2 catalog.
  295.  
  296.   -- Invoke server procedures from a VisualAge for Basic client and
  297.      from other clients.
  298.  
  299. Definition: "server procedures" is used as a general term that includes
  300. stored procedures and user-defined functions.
  301.  
  302. ------------------------------------------------------------------------
  303. Platforms Supported:
  304.  
  305. Client platforms: OS/2, Windows NT/95
  306. Server platforms: AIX, OS/2, Windows NT
  307.  
  308. ------------------------------------------------------------------------
  309. Language Supported:
  310.  
  311. The complete VisualAge for Basic language is described in the VisualAge
  312. for Basic online help.  See section 6 in this README file for a list of
  313. known bugs in the beta code.
  314.  
  315. ------------------------------------------------------------------------
  316. Functions Supported:
  317.  
  318.   Project:
  319.   -- Creating a new project
  320.   -- Opening an existing project
  321.   -- Saving the project and changing the project name via Save as
  322.   -- Running the Project
  323.   -- Viewing the project: Forms, Modules, Build files, Components, etc.
  324.   -- Showing a file in full path or just the name
  325.   -- Loading projects written in Microsoft Visual Basic 3.0, modifying
  326.      them, and saving them in Visual Age for Basic format
  327.   -- Building server procedures (creation/deletion)
  328.  
  329.   Forms:
  330.   -- Selection and appropriate menu and icon state
  331.   -- Opening the Code Editor and Menu Editor on it via menu item,
  332.      mouse, keyboard
  333.   -- Showing or hiding design version of selected form
  334.   -- Saving in a file (.i), and changing name of file via Save As
  335.  
  336.   Modules:
  337.   -- Selection and appropriate menu and icon state
  338.   -- Opening Code Editor on it via menu item, mouse, keyboard
  339.   -- Saving in a file (.bas), and changing name of file via Save As
  340.   -- Creating/removing a Module
  341.  
  342.   Window Pulldown:
  343.   -- Property Editor
  344.   -- Toolbox
  345.   -- Menu Editor
  346.   -- Code Editor
  347.   -- Color selector
  348.   -- Component catalog
  349.   -- Stored procedure catalog
  350.   -- User-defined function catalog
  351.  
  352.   Options Pulldown:
  353.   -- Interpreter
  354.   -- Project
  355.   -- Environment
  356.   -- Database
  357.  
  358. ------------------------------------------------------------------------
  359. Components shipped in the beta code:
  360.  
  361.   Checkbox
  362.   Combo Box
  363.   Command Button
  364.   Common Dialog
  365.   Data (Windows NT/95 only)
  366.   Directory List Box
  367.   Drive List Box
  368.   File List Box
  369.   Frame
  370.   Grid
  371.   Horizontal Scrollbar
  372.   Image
  373.   Label
  374.   Line
  375.   Listbox
  376.   OLE Container (Windows NT/95 only)
  377.   OpenDoc Container (OS/2 only)
  378.   Option Button
  379.   Picture Box
  380.   Shape
  381.   Textbox
  382.   Timer
  383.   Vertical Scrollbar
  384.  
  385. ========================================================================
  386. 6. DESCRIPTION OF KNOWN BUGS AND RESTRICTIONS IN THE BETA CODE
  387.  
  388. The known bugs are grouped in the following categories:
  389.   A. Building server procedures
  390.   B. Calling server procedures
  391.   C. Database access
  392.   D. Language elements
  393.   E. Miscellaneous
  394.   F. Run-time problems
  395.   G. User Interface
  396.  
  397.  
  398. ------------------------------------------------------------------------
  399. A. Building Server Procedures
  400. ------------------------------------------------------------------------
  401.  
  402. ------------------------------------------------------------------------
  403. A.1. Building Server Procedures:  Replacing a server procedure on a DB2
  404. server
  405.  
  406. During server procedure development, set the database manager
  407. configuration using KEEPDARI=NO, so that DB2 will unload server
  408. procedures after each call.  (DB2 loads a server procedure into memory
  409. when it runs, and may not unload it from memory to let you replace it.)
  410.  
  411. For execution, set KEEPDARI=YES to give better performance, so that the
  412. server procedures do not need to be reloaded each time they are run.
  413. With KEEPDARI=YES, the following message may appear: "Stored Procedure
  414. DLL cannot be created because it is in use."  This will happen if one
  415. is trying to rebuild a server procedure which has already been run by
  416. DB2.  Stopping and restarting DB2 will free the server procedure from
  417. memory, allowing one to rebuild it.
  418.  
  419. ------------------------------------------------------------------------
  420. A.2. Building Server Procedures:  Running a server procedure on a DB2
  421. server in UNFENCED mode
  422.  
  423. Do not run a server procedure built using VisualAge for Basic on DB2
  424. in UNFENCED mode.  For this beta, run server procedures in FENCED mode.
  425.  
  426. ------------------------------------------------------------------------
  427. A.3. Building Server Procedures:  Building the UNITS UDF sample
  428.  
  429. Before building the UDF in vabasic\samples\udf\units\unitudf.prj,
  430. edit the assignment statement of the global variable Path to use the
  431. path (with a trailing "\" or "/") of the location of the UDF built on
  432. the database server.  For additional details about this and other
  433. UDF samples, browse the README.UDF file in vabasic\samples\udf.
  434.  
  435.  
  436. ------------------------------------------------------------------------
  437. B. Calling Server Procedures
  438. ------------------------------------------------------------------------
  439.  
  440. -------------------------------------------------------------------------
  441. B.1. Calling Server Procedures:  Calling more than 5 stored procedures
  442.  
  443. In DB2 for OS/2 2.1 and some beta releases of DB2 for OS/2 2.1.1, no more
  444. than 5 different stored procedures can be invoked by one application.
  445. The sixth and subsequent calls to different stored procedures receive SQL
  446. error code 1131.  This restriction is removed in the GA version of DB2
  447. for OS/2 2.1.1.
  448.  
  449. In DB2 for OS/2 2.1 and 2.1.1, an application can call the same stored
  450. procedure as many times as system resources permit.
  451.  
  452. ------------------------------------------------------------------------
  453. B.2. Calling Server Procedures:  Matching levels of CLI
  454.  
  455. When calling a stored procedure using CLI, make sure the level of CLI
  456. support on the client and server machines is the same, especially if the
  457. client and server are on different operating systems.
  458.  
  459. ------------------------------------------------------------------------
  460. B.3. Calling Server Procedures:  Calling from a generated executable
  461.  
  462. For OS/2, when a stored procedure is invoked from a generated executable,
  463. Visual Age for Basic will display the following message when running
  464. the executable:
  465.  
  466. "Priority cannot be set for the current thread".
  467.  
  468. This message can be suppressed by setting an environment variable
  469. as follows:
  470.  
  471. set VWSPSETPRTY=NO
  472.  
  473. This environment setting should be made by each OS/2 client running the
  474. generated executable.
  475.  
  476. ------------------------------------------------------------------------
  477. B.4. Calling Server Procedures:  Debugging Stored procedures on NT when
  478. client and server is the same machine
  479.  
  480. When a stored procedure is built and run with the Debug option on, after
  481. the stored procedure is finished, the client's code window may disapper.
  482. This problem can be avoided by putting a break point in statements
  483. after the EXEC SQL CALL in the client code.
  484.  
  485. ------------------------------------------------------------------------
  486. B.5. Calling Server Procedures:  Debugging UDF on NT when client and
  487. server is the same machine
  488.  
  489. When a DB2 UDF is built and run with the Debug option on,
  490. the remote debugger code window for a UDF is not working properly.
  491. If the UDF needs to debugged, use the command line interpreter
  492. (basI.exe) to invoke the UDF, instead of invoking it through a GUI based
  493. application.  Also, the UDF Next Row under Run in the Project window
  494. for the server is greyed out incorrectly - the debugger will
  495. only step through the first row and then exit.
  496.  
  497. ------------------------------------------------------------------------
  498. B.6. Calling Server Procedures:  For UDFs with VARCHAR input or result
  499. arguments
  500.  
  501. A UDF BASIC function should be declared as BASIC data type "string"
  502. and not as a sqlvarchar structure. The result should be
  503. NULL terminated ( & with chr$(0) before return). However, there has
  504. been problems reported for VARCHARs result when client and server
  505. are on different platforms.
  506.  
  507. ------------------------------------------------------------------------
  508. B.7. Calling Server Procedures:  Path in STATSDAR.PRJ
  509.  
  510. The sample \vabasic\samples\sproc\callsp\calldari\statsdar.prj
  511. inadvertently displays a path ahead of the stored procedure name in its
  512. form.  This sample will work if this path is removed.
  513.  
  514. ------------------------------------------------------------------------
  515. B.8. Calling Server Procedures:  Duplicate Type Definition
  516.  
  517. The sample file \vabasic\samples\sproc\arrays\spstaffm.bas contains a
  518. type definition, Str254Type, which is already defined in another module.
  519. Comment or remove this duplicate type definition prior to building this
  520. stored procedure.
  521.  
  522.  
  523. ------------------------------------------------------------------------
  524. C. Database Access
  525. ------------------------------------------------------------------------
  526.  
  527. ------------------------------------------------------------------------
  528. C.1. Database Access:  CLI SQLProcedures function
  529.  
  530. The CLI SQLProcedures function cannot be used to access information from
  531. the DB2CLI.PROCEDURES table that VisualAge for Basic has inserted.
  532. Attempting this results in a CLI0166E PARMLIST syntax error, because
  533. the VisualAge for Basic parameter descriptions currently use Basic
  534. datatypes, which are not supported by CLI.  You can use the CLI procs
  535. sample to access only information that respects the restrictions
  536. documented in the DB2 for OS/2 CLI Guide and Reference, Appendix G.
  537. See the vabasic\samples\cli\procx.prj sample for how to bypass this
  538. restriction.
  539.  
  540. ------------------------------------------------------------------------
  541. C.2. Database Access:  DB2 not started or CONNECT RESET missing
  542.  
  543. If a message appears in the Code Window saying "DB2 is not started or a
  544. CONNECT RESET statement is missing," and you have verified that DB2 is
  545. started and you have appropriate CONNECT RESET statements in place, exit
  546. VisualAge for Basic and then start it again.
  547.  
  548. ------------------------------------------------------------------------
  549. C.3. Database Access:  Sample code not working
  550.  
  551. The descriptor form of the CALL embedded SQL statement does not work.
  552. This call has been commented out of the sample
  553. vabasic\samples\embed\outcli.prj.
  554.  
  555. On a Windows NT Server, the sample vabasic\samples\cli\outcli.prj does
  556. not return the correct result from the stored procedure.
  557.  
  558. ------------------------------------------------------------------------
  559. C.4. Database Access:  Forms requiring manual resize
  560.  
  561. A number of sample programs contain forms that display right only after
  562. the user has resized the form manually.  Examples of such samples are
  563. found in \vabasic\samples\cli, \vabasic\samples\embed, \vabasic\samples\
  564. sproc, and \vabasic\samples\udf subdirectories.
  565.  
  566.  
  567. ------------------------------------------------------------------------
  568. D. Language Elements
  569. ------------------------------------------------------------------------
  570.  
  571. ------------------------------------------------------------------------
  572. D.1. Language Elements:  Lock and Unlock statements
  573.  
  574. The Lock and Unlock statements are not supported.
  575.  
  576. ------------------------------------------------------------------------
  577. D.2. Language Elements:  Title Property - not working in a generated
  578. executable.
  579.  
  580. The Title property does not work properly when set in a generated
  581. executable.
  582.  
  583.  
  584. ------------------------------------------------------------------------
  585. E. Miscellaneous
  586. ------------------------------------------------------------------------
  587.  
  588. ------------------------------------------------------------------------
  589. E.1. Miscellaneous: Creating a SOM object on a form
  590.  
  591. When you create a SOM object on a form, VisualAge for Basic may crash.
  592.  
  593. Details: when you select a SOM class from the Component Catalog, and use the
  594. Toolbox to create a SOM object on a form, VisualAge for Basic may crash.
  595.  
  596. SOM objects that may cause this error include: AttributeDef, ConstantDef,
  597. Contained, ExceptionDef, InterfaceDef, ModuleDef, OperationDef,
  598. ParameterDef, SOMDClientProxy, SOMMSingleInstance, and TypeDef.
  599.  
  600. Actions that may cause this error include:
  601.   -- Selecting the object on the form and clicking on the Delete key.
  602.   -- Going to the File menu and selecting New Project
  603.   -- Going to Project Window Run Menu and clicking on Run, then on End
  604.  
  605.  
  606. ------------------------------------------------------------------------
  607. E.2. Miscellaneous: Renaming DLLs for Microsoft Visual Basic
  608.  
  609. If you plan to use Microsoft Visual Basic 4.0 with IBM VisualAge for
  610. Basic client on Windows NT, you will need to rename the following DLLs
  611. located in the vabasic\bin directory to a backup name (for example, by
  612. replacing the DLL extension with BLL):
  613.  
  614.    CTL3D32.DLL           MSVCR40.DLL
  615.    MFC40.DLL             MSVCRT40.DLL
  616.    MFCO40.DLL            OLEPRO32.DLL
  617.  
  618. ------------------------------------------------------------------------
  619. E.3. Miscellaneous:  The Two-Dimensional Graphics Part
  620.  
  621. The Two-Dimensional Graphics Part (shipped with the OpenDoc
  622. runtime), will crash VisualAge for Basic if the "link" pages
  623. are selected from the OpenDoc Properties notebook. The link
  624. pages are not active, so this is not a functional problem.
  625.  
  626. ------------------------------------------------------------------------
  627. E.4. Miscellaneous:  The OpenDoc Cookbook part
  628.  
  629. The OpenDoc Cookbook part is not recommended for use in
  630. VisualAge for Basic at this time.
  631.  
  632. ------------------------------------------------------------------------
  633. E.5. Miscellaneous:  The OpenDoc MultiMedia parts
  634.  
  635. The OpenDoc MultiMedia parts (shipped with the Developer's
  636. Connection) work best if they are first contained within
  637. other container parts.  For example, instead of using the
  638. Video Part as the root part of an OpenDoc document, use a
  639. container part as the root and embed the Video Part in it
  640. (example container parts include the Page Layout and Text
  641. Parts shipped with the OpenDoc runtime or the Container Part
  642. shipped with the Warp Toolkit).  This is also a useful tip for
  643. other OpenDoc parts that do not behave as expected.
  644.  
  645. ------------------------------------------------------------------------
  646. E.6. Miscellaneous:  Generating executables from projects building
  647. Stored Procedures and/or User-Defined Functions
  648.  
  649. If a project thats calls a stored procedure or user-defined function is
  650. also the project that builds them, then there will be error messages
  651. when building and/or executing the project as a generated executable.
  652. The following workaround can be used to build an executable client
  653. application:
  654.  
  655. 1) Start VisualAge for Basic and load the project.
  656. 2) Run the application.
  657. 3) Stop the application.
  658. 4) In the project window, remove any files in the Stored Procedure
  659.    or User-Defined Function categories (do NOT save the project).
  660. 5) Build an executable file.
  661. 6) Exit VisualAge for Basic (do NOT save the project), and run the
  662.    generated executable.
  663.  
  664. ------------------------------------------------------------------------
  665. E.7. Miscellaneous:  Font Migration
  666.  
  667. If a font name specified in a VisualAge for Basic application is not
  668. installed on the machine loading or running the application, then the
  669. font will be changed to the default font of the operating system (for
  670. example, System font for Windows NT, System Proportional font for OS/2).
  671. One side effect of this behavior is that invalid font names are not
  672. flagged as errors in the Property Editor or the Code Editor.
  673.  
  674. ------------------------------------------------------------------------
  675. E.8. Miscellaneous:  VBX/OCX Migration
  676.  
  677. Users of Microsoft Visual Basic 3.0 and VBX controls may be able to
  678. migrate their applications into VisualAge for Basic and use the
  679. equivalent OCX.  Follow these steps:
  680.  
  681.  1. Save any .FRM files as text files (not binary files) in Microsoft
  682.     Visual Basic 3.0.
  683.  
  684.  2. Start VisualAge for Basic for Windows NT
  685.  
  686.  3. In the Project window, select Window ==> Component Catalog.
  687.  
  688.  4. Select the OLE components to be used in the application.  As a
  689.     component is selected, any needed icons will be placed in the
  690.     ToolBox window.
  691.  
  692.  5. Create an instance of each added OCX in Form1.
  693.  
  694.  6. Open the Property Editor.  Select each OCX instance on Form1 and
  695.     note the class name which is enclosed in () after the name of the
  696.     component in the selection window of the Property Editor.
  697.  
  698.  7. Using a text editor (NotePad, for example), inspect the .FRM files
  699.     for the class names of the VBXs used in the application.  Some VBX
  700.     vendors rename the class name in their OCX versions of their
  701.     controls.  If the class names are different, edit the .FRM file to
  702.     use the OCX class names instead of the VBX class names.  Instance
  703.     names (the Component.Name property) do not need to be modified.
  704.  
  705.  8. Save any modified files.
  706.  
  707.  9. Remove the Form1 modified in VisualAge for Basic from the untitled
  708.     project choosing Selected ==> Remove in the Project Window.
  709.  
  710. 10. In the Project Window, select File ==> Add File to individually load
  711.     each file of the application.
  712.  
  713. 11. Choose Selected ==> Show Form to view each form in Design Mode.  Make
  714.     sure that each component, including the migrated OCX component
  715.     instances, is displayed in each form as it appeared in Visual Basic
  716.     3.0.
  717.  
  718. 12. Choose File ==> Save Project As to create a .PRJ file that can be
  719.     used to load the converted project into VisualAge for Basic.
  720.  
  721. ------------------------------------------------------------------------
  722. E.9. Miscellaneous:  OCXs with variable number of arguments
  723.  
  724. This beta does not support OCX controls which accept a variable number
  725. of arguments in a method call.
  726.  
  727. ------------------------------------------------------------------------
  728. E.10. Miscellaneous:  DBCS Font Name
  729.  
  730. Statements in the Sub main in samples\db2api\util.bas and in
  731. samples\cli\samputil.bas set the font name for the iOutput form
  732. to "Courier" so that output can be displayed in aligned columns.
  733. In a DBCS environment, the Courier font cannot display double-byte
  734. characters; therefore, DBCS users should change the font name
  735. MINCHO or some other DBCS font.
  736.  
  737. ------------------------------------------------------------------------
  738. E.11. Miscellaneous:  DBCS Data in CLI calls
  739.  
  740. When passing arguments that contain DBCS characters in CLI calls, be
  741. sure to use byte counting, not character counting, functions like LenB,
  742. InStrB, MidB.
  743.  
  744. ------------------------------------------------------------------------
  745. E.12. Miscellaneous:  Options Interface
  746.  
  747. For this beta, one should perform end user customization features
  748. available for the VisualAge for Basic development environment by making
  749. settings directly in the vabasic\config\instpref.ini file.  The Options
  750. menu of the Project Window is not working for Interpreter, Project,
  751. and Environment settings.  See Appendix A., "Customizing VisualAge for
  752. Basic Interfaces", in the VisualAge for Basic Programming Guide for
  753. more details.
  754.  
  755. ------------------------------------------------------------------------
  756. E.13. Miscellaneous:  Tutorial Problems
  757.  
  758. In tutorial 3 pg 48, the user needs to File => Add File employee.bas
  759. after loading the tutor3.prj.
  760.  
  761. In Tutorial 4, the call to sub Clear_All_TextFields should be to sub
  762. Clear_All_Text_Fields.
  763.  
  764. In Tutorial 5, the Add New and Update buttons in the ODBC3.PRJ project
  765. are not working correctly.
  766.  
  767. In tutorial 6 pg 2, The directory where the tutorial is located
  768. is incorrect (Should be VisualAge_dir\samples\tutorial\tutor6).
  769. Another directory, bitmaps, contains all of the bitmaps
  770. the program is looking for them in that directory under tutor6
  771. (... \tutorial\tutor6\bitmaps).
  772.  
  773. ------------------------------------------------------------------------
  774. E.14. Miscellaneous:  Installing over previous Beta
  775.  
  776. The Install program for VisualAge for Basic includes a Delete option.
  777. This delete option is not working completely in this Beta.  Users may
  778. need to delete files and directories using a file manager program if
  779. reinstalling over the earlier beta release or when reinstalling this
  780. beta release.
  781.  
  782. ------------------------------------------------------------------------
  783. E.15. Miscellaneous:  Required disk space during Installation
  784.  
  785. When installing VisualAge for Basic for OS/2, the disk space requirements
  786. displayed during in install program depict the requirements once the
  787. installation is completed.  During the installation, however, temporary
  788. directories and files are created to "unpack" product files.  Please
  789. allow about 1.5 times the suggested disk space to be available during
  790. the installation.
  791.  
  792.  
  793. ------------------------------------------------------------------------
  794. F. Run-Time Problems
  795. ------------------------------------------------------------------------
  796.  
  797. ------------------------------------------------------------------------
  798. F.1. Run-Time Problems:  Restriction on dynamic array passing
  799.  
  800. Because DB2 cannot determine the size of a ReDim-ed array during run
  801. time, it can only handle the default value of MAXARRAYSIZE.
  802.  
  803. On OS/2 and Windows NT clients, if the array being ReDim-ed is larger
  804. than the default value of MAXARRAYSIZE, it will cause a SQL0822N error
  805. ("The SQLDA contains a data address or indicator variable address which
  806. is not valid.").
  807.  
  808. Solution:  VisualAge for Basic provides an environment variable called
  809. MAXARRAYSIZE.  Its default values are 64KB on AIX, 10KB on OS/2, and
  810. SQLMAXBLOB on Windows.  Set this environment variable to be the same or
  811. larger than the array's ReDim-ed size.  For example:
  812.  
  813. /*  OS/2 clients: foo.bas module  */
  814.     subroutine foo()
  815.        Dim array1() as integer
  816.        Redim array1(10, 2000);
  817. /*  End of subroutine foo()  */
  818.  
  819. In this example, the array's ReDim-ed size (10 x 2000 or 20,000) is
  820. larger than the default value of MAXARRAYSIZE on OS/2 (10KB), so you need
  821. to set the MAXARRAYSIZE environment variable to 20,000 or greater.
  822.  
  823. To improve performance, you can set MAXARRAYSIZE less than the default
  824. value, as long as it is as large or larger than any ReDim-ed arrays in
  825. your program.  Here are the maximum sizes for any ReDim-ed arrays in your
  826. program:  OS/2 = 27 KB  (27,648 bytes),  Windows NT = 32KB
  827. (32,768 bytes).
  828.  
  829. ------------------------------------------------------------------------
  830. F.2. Run-Time Problems:  ScaleWidth/ScaleHeight properties
  831.  
  832. If a program performs a resize in its code (in other words, changes the
  833. value of the Width and/or Height property), VisualAge for Basic does not
  834. update the ScaleWidth and ScaleHeight properties.
  835.  
  836. If a user manually resizes a form, VisualAge for Basic updates the
  837. ScaleWidth and ScaleHeight properties correctly.
  838.  
  839. If the ScaleMode is set to a value different than 1 (Twips), then the
  840. ScaleHeight and ScaleWidth values may be incorrect at runtime.
  841.  
  842. ------------------------------------------------------------------------
  843. F.3. Run-Time Problems:  .FRM file extension
  844.  
  845. Form filenames must have the extension .FRM if saved in the Microsoft
  846. Visual Basic 3.0 format (Visual Basic 4.0 forms cannot be loaded into
  847. VisualAge for Basic).  Form filenames must have the extension .I if saved
  848. in the IBM VisualAge for Basic format.  The .FRM format files must be
  849. saved as text prior to loading in VisualAge for Basic (Save As Text is an
  850. option in the Save File As dialog of Visual Basic 3.0).
  851.  
  852. ------------------------------------------------------------------------
  853. F.4. Run-Time Problems:  Running executables while VisualAge for Basic
  854. is running.
  855.  
  856. On OS/2, one cannot run a generated executable while VisualAge for Basic
  857. is running.
  858.  
  859. ------------------------------------------------------------------------
  860. F.5. Run-Time Problems:  Generating working executables
  861.  
  862. If the application contains an embedded image (example,
  863. the Picture property has been set in the Property editor), then
  864. VisualAge for Basic will not generate a working executable unless the
  865. project has been run in the development environment prior to generating
  866. the executable.  The project also must be saved prior to generating an
  867. executable.
  868.  
  869. So the proper sequence is:
  870. 1) Load a project
  871. 2) Make any desired modifications
  872. 3) Save the project
  873. 4) Generate an executable
  874. 5) If on OS/2, exit VisualAge for Basic
  875. 6) In a command window, run the generated executable.
  876.  
  877. ------------------------------------------------------------------------
  878. F.6. Run-Time Problems:  Calling external functions
  879.  
  880. On OS/2, all function calls made to external functions must be made to
  881. DLLs which use the _system linkage convention.  DLLs which use the
  882. _optlink system linkage convention are not supported in this beta.
  883.  
  884.  
  885. ------------------------------------------------------------------------
  886. G.  User Interface
  887. ------------------------------------------------------------------------
  888.  
  889. ------------------------------------------------------------------------
  890. G.1. User Interface:  Mnemonic characters not working on OS/2
  891.  
  892. On OS/2, if Fixpack 17 has not been applied, the mnemonic character in
  893. the caption of labels and buttons (check box, option, and command
  894. buttons) may not appear underlined for some fonts and fontsizes.
  895.  
  896. ------------------------------------------------------------------------
  897.  
  898. G.2. User Interface:  Unload Statement
  899.  
  900. You are unable to reload a form that was previously unloaded by a
  901. subroutine within the unloaded form.  Unloading a form from a
  902. subroutine in another form or module will allow it to be reloaded.
  903.  
  904. ------------------------------------------------------------------------
  905.  
  906. G.3. User Interface:  Screen Resolution Migration
  907.  
  908. If a form in an application written on a machine with one screen
  909. resolution is migrated to a machine with less screen resolution, and
  910. the form's width and/or height now exceeds the screen size, then an error
  911. occurs when displaying the form in design and run modes.
  912.  
  913. ------------------------------------------------------------------------
  914.  
  915. G.4. User Interface:  Font changes
  916.  
  917. The default font in VisualAge for Basic for OS/2 has been changed.  A
  918. number of the samples have not been updated to better support this
  919. larger font, so some captions no longer fit in some components.
  920.  
  921.  
  922. ========================================================================
  923. 7. COPYRIGHT NOTICE AND TRADEMARKS FOR THIS README FILE
  924.  
  925. (C) Copyright International Business Machines Corporation 1996.
  926. All Rights Reserved.
  927.  
  928. AIX, DB2, DB2/2, DB2/6000, IBM, and OS/2 are trademarks of International
  929. Business Machines Corporation.
  930.  
  931. Microsoft, Windows, and the Windows 95 logo are trademarks or registered
  932. trademarks of Microsoft Corporation.
  933.  
  934. Other company, product, and service names, which may be denoted by a
  935. double asterisk (**), may be trademarks or service marks of others.
  936.  
  937.  
  938. ========================================================================
  939.