home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1996 November / VPR9611B.ISO / vabasic / ntclnt.exe / README.1ST < prev   
Text File  |  1996-07-31  |  40KB  |  955 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 continuing with the installatione.  If you do not agree
  14. to the terms of the license, you have to uninstall the product.
  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. B.9. Calling Server Procedures:  File missing from project
  524.  
  525. The sample project \vabasic\samples\udf\credit\credit.prj does not
  526. load in file \vabasic\utility\qtest\qtutil.bas.  Do a File => Add File
  527. of qtutil.bas after loading this project.
  528.  
  529.  
  530. ------------------------------------------------------------------------
  531. C. Database Access
  532. ------------------------------------------------------------------------
  533.  
  534. ------------------------------------------------------------------------
  535. C.1. Database Access:  CLI SQLProcedures function
  536.  
  537. The CLI SQLProcedures function cannot be used to access information from
  538. the DB2CLI.PROCEDURES table that VisualAge for Basic has inserted.
  539. Attempting this results in a CLI0166E PARMLIST syntax error, because
  540. the VisualAge for Basic parameter descriptions currently use Basic
  541. datatypes, which are not supported by CLI.  You can use the CLI procs
  542. sample to access only information that respects the restrictions
  543. documented in the DB2 for OS/2 CLI Guide and Reference, Appendix G.
  544. See the vabasic\samples\cli\procx.prj sample for how to bypass this
  545. restriction.
  546.  
  547. ------------------------------------------------------------------------
  548. C.2. Database Access:  DB2 not started or CONNECT RESET missing
  549.  
  550. If a message appears in the Code Window saying "DB2 is not started or a
  551. CONNECT RESET statement is missing," and you have verified that DB2 is
  552. started and you have appropriate CONNECT RESET statements in place, exit
  553. VisualAge for Basic and then start it again.
  554.  
  555. ------------------------------------------------------------------------
  556. C.3. Database Access:  Sample code not working
  557.  
  558. The descriptor form of the CALL embedded SQL statement does not work.
  559. This call has been commented out of the sample
  560. vabasic\samples\embed\outcli.prj.
  561.  
  562. On a Windows NT Server, the sample vabasic\samples\cli\outcli.prj does
  563. not return the correct result from the stored procedure.
  564.  
  565. ------------------------------------------------------------------------
  566. C.4. Database Access:  Forms requiring manual resize
  567.  
  568. A number of sample programs contain forms that display right only after
  569. the user has resized the form manually.  Examples of such samples are
  570. found in \vabasic\samples\cli, \vabasic\samples\embed, \vabasic\samples\
  571. sproc, and \vabasic\samples\udf subdirectories.
  572.  
  573.  
  574. ------------------------------------------------------------------------
  575. D. Language Elements
  576. ------------------------------------------------------------------------
  577.  
  578. ------------------------------------------------------------------------
  579. D.1. Language Elements:  Lock and Unlock statements
  580.  
  581. The Lock and Unlock statements are not supported.
  582.  
  583. ------------------------------------------------------------------------
  584. D.2. Language Elements:  Title Property - not working in a generated
  585. executable.
  586.  
  587. The Title property does not work properly when set in a generated
  588. executable.
  589.  
  590.  
  591. ------------------------------------------------------------------------
  592. E. Miscellaneous
  593. ------------------------------------------------------------------------
  594.  
  595. ------------------------------------------------------------------------
  596. E.1. Miscellaneous: Creating a SOM object on a form
  597.  
  598. When you create a SOM object on a form, VisualAge for Basic may crash.
  599.  
  600. Details: when you select a SOM class from the Component Catalog, and use the
  601. Toolbox to create a SOM object on a form, VisualAge for Basic may crash.
  602.  
  603. SOM objects that may cause this error include: AttributeDef, ConstantDef,
  604. Contained, ExceptionDef, InterfaceDef, ModuleDef, OperationDef,
  605. ParameterDef, SOMDClientProxy, SOMMSingleInstance, and TypeDef.
  606.  
  607. Actions that may cause this error include:
  608.   -- Selecting the object on the form and clicking on the Delete key.
  609.   -- Going to the File menu and selecting New Project
  610.   -- Going to Project Window Run Menu and clicking on Run, then on End
  611.  
  612.  
  613. ------------------------------------------------------------------------
  614. E.2. Miscellaneous: Renaming DLLs for Microsoft Visual Basic
  615.  
  616. If you plan to use Microsoft Visual Basic 4.0 with IBM VisualAge for
  617. Basic client on Windows NT, you will need to rename the following DLLs
  618. located in the vabasic\bin directory to a backup name (for example, by
  619. replacing the DLL extension with BLL):
  620.  
  621.    CTL3D32.DLL           MSVCR40.DLL
  622.    MFC40.DLL             MSVCRT40.DLL
  623.    MFCO40.DLL            OLEPRO32.DLL
  624.  
  625. ------------------------------------------------------------------------
  626. E.3. Miscellaneous:  The Two-Dimensional Graphics Part
  627.  
  628. The Two-Dimensional Graphics Part (shipped with the OpenDoc
  629. runtime), will crash VisualAge for Basic if the "link" pages
  630. are selected from the OpenDoc Properties notebook. The link
  631. pages are not active, so this is not a functional problem.
  632.  
  633. ------------------------------------------------------------------------
  634. E.4. Miscellaneous:  The OpenDoc Cookbook part
  635.  
  636. The OpenDoc Cookbook part is not recommended for use in
  637. VisualAge for Basic at this time.
  638.  
  639. ------------------------------------------------------------------------
  640. E.5. Miscellaneous:  The OpenDoc MultiMedia parts
  641.  
  642. The OpenDoc MultiMedia parts (shipped with the Developer's
  643. Connection) work best if they are first contained within
  644. other container parts.  For example, instead of using the
  645. Video Part as the root part of an OpenDoc document, use a
  646. container part as the root and embed the Video Part in it
  647. (example container parts include the Page Layout and Text
  648. Parts shipped with the OpenDoc runtime or the Container Part
  649. shipped with the Warp Toolkit).  This is also a useful tip for
  650. other OpenDoc parts that do not behave as expected.
  651.  
  652. ------------------------------------------------------------------------
  653. E.6. Miscellaneous:  Generating executables from projects building
  654. Stored Procedures and/or User-Defined Functions
  655.  
  656. If a project thats calls a stored procedure or user-defined function is
  657. also the project that builds them, then there will be error messages
  658. when building and/or executing the project as a generated executable.
  659. The following workaround can be used to build an executable client
  660. application:
  661.  
  662. 1) Start VisualAge for Basic and load the project.
  663. 2) Run the application.
  664. 3) Stop the application.
  665. 4) In the project window, remove any files in the Stored Procedure
  666.    or User-Defined Function categories (do NOT save the project).
  667. 5) Build an executable file.
  668. 6) Exit VisualAge for Basic (do NOT save the project), and run the
  669.    generated executable.
  670.  
  671. ------------------------------------------------------------------------
  672. E.7. Miscellaneous:  Font Migration
  673.  
  674. If a font name specified in a VisualAge for Basic application is not
  675. installed on the machine loading or running the application, then the
  676. font will be changed to the default font of the operating system (for
  677. example, System font for Windows NT, System Proportional font for OS/2).
  678. One side effect of this behavior is that invalid font names are not
  679. flagged as errors in the Property Editor or the Code Editor.
  680.  
  681. ------------------------------------------------------------------------
  682. E.8. Miscellaneous:  VBX/OCX Migration
  683.  
  684. Users of Microsoft Visual Basic 3.0 and VBX controls may be able to
  685. migrate their applications into VisualAge for Basic and use the
  686. equivalent OCX.  Follow these steps:
  687.  
  688.  1. Save any .FRM files as text files (not binary files) in Microsoft
  689.     Visual Basic 3.0.
  690.  
  691.  2. Start VisualAge for Basic for Windows NT
  692.  
  693.  3. In the Project window, select Window ==> Component Catalog.
  694.  
  695.  4. Select the OLE components to be used in the application.  As a
  696.     component is selected, any needed icons will be placed in the
  697.     ToolBox window.
  698.  
  699.  5. Create an instance of each added OCX in Form1.
  700.  
  701.  6. Open the Property Editor.  Select each OCX instance on Form1 and
  702.     note the class name which is enclosed in () after the name of the
  703.     component in the selection window of the Property Editor.
  704.  
  705.  7. Using a text editor (NotePad, for example), inspect the .FRM files
  706.     for the class names of the VBXs used in the application.  Some VBX
  707.     vendors rename the class name in their OCX versions of their
  708.     controls.  If the class names are different, edit the .FRM file to
  709.     use the OCX class names instead of the VBX class names.  Instance
  710.     names (the Component.Name property) do not need to be modified.
  711.  
  712.  8. Save any modified files.
  713.  
  714.  9. Remove the Form1 modified in VisualAge for Basic from the untitled
  715.     project choosing Selected ==> Remove in the Project Window.
  716.  
  717. 10. In the Project Window, select File ==> Add File to individually load
  718.     each file of the application.
  719.  
  720. 11. Choose Selected ==> Show Form to view each form in Design Mode.  Make
  721.     sure that each component, including the migrated OCX component
  722.     instances, is displayed in each form as it appeared in Visual Basic
  723.     3.0.
  724.  
  725. 12. Choose File ==> Save Project As to create a .PRJ file that can be
  726.     used to load the converted project into VisualAge for Basic.
  727.  
  728. ------------------------------------------------------------------------
  729. E.9. Miscellaneous:  OCXs with variable number of arguments
  730.  
  731. This beta does not support OCX controls which accept a variable number
  732. of arguments in a method call.
  733.  
  734. ------------------------------------------------------------------------
  735. E.10. Miscellaneous:  DBCS Font Name
  736.  
  737. Statements in the Sub main in samples\db2api\util.bas and in
  738. samples\cli\samputil.bas set the font name for the iOutput form
  739. to "Courier" so that output can be displayed in aligned columns.
  740. In a DBCS environment, the Courier font cannot display double-byte
  741. characters; therefore, DBCS users should change the font name
  742. MINCHO or some other DBCS font.
  743.  
  744. ------------------------------------------------------------------------
  745. E.11. Miscellaneous:  DBCS Data in CLI calls
  746.  
  747. When passing arguments that contain DBCS characters in CLI calls, be
  748. sure to use byte counting, not character counting, functions like LenB,
  749. InStrB, MidB.
  750.  
  751. ------------------------------------------------------------------------
  752. E.12. Miscellaneous:  Options Interface
  753.  
  754. For this beta, one should perform end user customization features
  755. available for the VisualAge for Basic development environment by making
  756. settings directly in the vabasic\config\instpref.ini file.  The Options
  757. menu of the Project Window is not working for Interpreter, Project,
  758. and Environment settings.  See Appendix A., "Customizing VisualAge for
  759. Basic Interfaces", in the VisualAge for Basic Programming Guide for
  760. more details.
  761.  
  762. ------------------------------------------------------------------------
  763. E.13. Miscellaneous:  Tutorial Problems
  764.  
  765. In tutorial 3 pg 48, the user needs to File => Add File employee.bas
  766. after loading the tutor3.prj.
  767.  
  768. In Tutorial 4, the call to sub Clear_All_TextFields should be to sub
  769. Clear_All_Text_Fields.
  770.  
  771. In Tutorial 5, the Add New and Update buttons in the ODBC3.PRJ project
  772. are not working correctly.
  773.  
  774. In tutorial 6 pg 2, The directory where the tutorial is located
  775. is incorrect (Should be VisualAge_dir\samples\tutorial\tutor6).
  776. Another directory, bitmaps, contains all of the bitmaps
  777. the program is looking for them in that directory under tutor6
  778. (... \tutorial\tutor6\bitmaps).
  779.  
  780. ------------------------------------------------------------------------
  781. E.14. Miscellaneous:  Installing over previous Beta
  782.  
  783. The Install program for VisualAge for Basic includes a Delete option.
  784. This delete option is not working completely in this Beta.  Users may
  785. need to delete files and directories using a file manager program if
  786. reinstalling over the earlier beta release or when reinstalling this
  787. beta release.
  788.  
  789. ------------------------------------------------------------------------
  790. E.15. Miscellaneous:  Required disk space during Installation
  791.  
  792. When installing VisualAge for Basic for OS/2, the disk space requirements
  793. displayed during in install program depict the requirements once the
  794. installation is completed.  During the installation, however, temporary
  795. directories and files are created to "unpack" product files.  Please
  796. allow about 1.5 times the suggested disk space to be available during
  797. the installation.
  798.  
  799. ------------------------------------------------------------------------
  800. E.16. Miscellaneous:  Unexpected End of File Syntax Errors
  801.  
  802. When running VisualAge for Basic on Windows NT/95, you may get an
  803. error message "unexpected 'end of file'".  This will occur in some
  804. files which were saved using a text editor that uses Ctrl-Z as an
  805. End of File character.  Deleting the line flagged with the error
  806. will correct the problem.
  807.  
  808.  
  809. ------------------------------------------------------------------------
  810. F. Run-Time Problems
  811. ------------------------------------------------------------------------
  812.  
  813. ------------------------------------------------------------------------
  814. F.1. Run-Time Problems:  Restriction on dynamic array passing
  815.  
  816. Because DB2 cannot determine the size of a ReDim-ed array during run
  817. time, it can only handle the default value of MAXARRAYSIZE.
  818.  
  819. On OS/2 and Windows NT clients, if the array being ReDim-ed is larger
  820. than the default value of MAXARRAYSIZE, it will cause a SQL0822N error
  821. ("The SQLDA contains a data address or indicator variable address which
  822. is not valid.").
  823.  
  824. Solution:  VisualAge for Basic provides an environment variable called
  825. MAXARRAYSIZE.  Its default values are 64KB on AIX, 10KB on OS/2, and
  826. SQLMAXBLOB on Windows.  Set this environment variable to be the same or
  827. larger than the array's ReDim-ed size.  For example:
  828.  
  829. /*  OS/2 clients: foo.bas module  */
  830.     subroutine foo()
  831.        Dim array1() as integer
  832.        Redim array1(10, 2000);
  833. /*  End of subroutine foo()  */
  834.  
  835. In this example, the array's ReDim-ed size (10 x 2000 or 20,000) is
  836. larger than the default value of MAXARRAYSIZE on OS/2 (10KB), so you need
  837. to set the MAXARRAYSIZE environment variable to 20,000 or greater.
  838.  
  839. To improve performance, you can set MAXARRAYSIZE less than the default
  840. value, as long as it is as large or larger than any ReDim-ed arrays in
  841. your program.  Here are the maximum sizes for any ReDim-ed arrays in your
  842. program:  OS/2 = 27 KB  (27,648 bytes),  Windows NT = 32KB
  843. (32,768 bytes).
  844.  
  845. ------------------------------------------------------------------------
  846. F.2. Run-Time Problems:  ScaleWidth/ScaleHeight properties
  847.  
  848. If a program performs a resize in its code (in other words, changes the
  849. value of the Width and/or Height property), VisualAge for Basic does not
  850. update the ScaleWidth and ScaleHeight properties.
  851.  
  852. If a user manually resizes a form, VisualAge for Basic updates the
  853. ScaleWidth and ScaleHeight properties correctly.
  854.  
  855. If the ScaleMode is set to a value different than 1 (Twips), then the
  856. ScaleHeight and ScaleWidth values may be incorrect at runtime.
  857.  
  858. ------------------------------------------------------------------------
  859. F.3. Run-Time Problems:  .FRM file extension
  860.  
  861. Form filenames must have the extension .FRM if saved in the Microsoft
  862. Visual Basic 3.0 format (Visual Basic 4.0 forms cannot be loaded into
  863. VisualAge for Basic).  Form filenames must have the extension .I if saved
  864. in the IBM VisualAge for Basic format.  The .FRM format files must be
  865. saved as text prior to loading in VisualAge for Basic (Save As Text is an
  866. option in the Save File As dialog of Visual Basic 3.0).
  867.  
  868. ------------------------------------------------------------------------
  869. F.4. Run-Time Problems:  Running executables while VisualAge for Basic
  870. is running.
  871.  
  872. On OS/2, one cannot run a generated executable while VisualAge for Basic
  873. is running.
  874.  
  875. ------------------------------------------------------------------------
  876. F.5. Run-Time Problems:  Generating working executables
  877.  
  878. If the application contains an embedded image (example,
  879. the Picture property has been set in the Property editor), then
  880. VisualAge for Basic will not generate a working executable unless the
  881. project has been run in the development environment prior to generating
  882. the executable.  The project also must be saved prior to generating an
  883. executable.
  884.  
  885. So the proper sequence is:
  886. 1) Load a project
  887. 2) Make any desired modifications
  888. 3) Save the project
  889. 4) Generate an executable
  890. 5) If on OS/2, exit VisualAge for Basic
  891. 6) In a command window, run the generated executable.
  892.  
  893. ------------------------------------------------------------------------
  894. F.6. Run-Time Problems:  Calling external functions
  895.  
  896. On OS/2, all function calls made to external functions must be made to
  897. DLLs which use the _system linkage convention.  DLLs which use the
  898. _optlink system linkage convention are not supported in this beta.
  899.  
  900.  
  901. ------------------------------------------------------------------------
  902. G.  User Interface
  903. ------------------------------------------------------------------------
  904.  
  905. ------------------------------------------------------------------------
  906. G.1. User Interface:  Mnemonic characters not working on OS/2
  907.  
  908. On OS/2, if Fixpack 17 has not been applied, the mnemonic character in
  909. the caption of labels and buttons (check box, option, and command
  910. buttons) may not appear underlined for some fonts and fontsizes.
  911.  
  912. ------------------------------------------------------------------------
  913.  
  914. G.2. User Interface:  Unload Statement
  915.  
  916. You are unable to reload a form that was previously unloaded by a
  917. subroutine within the unloaded form.  Unloading a form from a
  918. subroutine in another form or module will allow it to be reloaded.
  919.  
  920. ------------------------------------------------------------------------
  921.  
  922. G.3. User Interface:  Screen Resolution Migration
  923.  
  924. If a form in an application written on a machine with one screen
  925. resolution is migrated to a machine with less screen resolution, and
  926. the form's width and/or height now exceeds the screen size, then an error
  927. occurs when displaying the form in design and run modes.
  928.  
  929. ------------------------------------------------------------------------
  930.  
  931. G.4. User Interface:  Font changes
  932.  
  933. The default font in VisualAge for Basic for OS/2 has been changed.  A
  934. number of the samples have not been updated to better support this
  935. larger font, so some captions no longer fit in some components.
  936.  
  937.  
  938. ========================================================================
  939. 7. COPYRIGHT NOTICE AND TRADEMARKS FOR THIS README FILE
  940.  
  941. (C) Copyright International Business Machines Corporation 1996.
  942. All Rights Reserved.
  943.  
  944. AIX, DB2, DB2/2, DB2/6000, IBM, and OS/2 are trademarks of International
  945. Business Machines Corporation.
  946.  
  947. Microsoft, Windows, and the Windows 95 logo are trademarks or registered
  948. trademarks of Microsoft Corporation.
  949.  
  950. Other company, product, and service names, which may be denoted by a
  951. double asterisk (**), may be trademarks or service marks of others.
  952.  
  953.  
  954. ========================================================================
  955.