================================
IBM* PL/I Toolkit for OS/2* READ.ME file.

 This file contains information that may not be available in the
 documentation you receive with the PL/I Toolkit for OS/2.

 IBM PL/I Toolkit for OS/2 Version 1 Release 1
 (C) Copyright IBM Corp. 1994. All Rights Reserved. US Government
 Users Restricted Rights--Use, duplication or disclosure restricted
 by GSA ADP Schedule Contract with IBM Corp.
================================


Welcome to Visual PL/I!

This file contains the following sections:

1. Warning on level of PL/I for OS/2
2. Reference to restrictions on the C2PLI tool
3. New OS/2 header file information
4. Known restrictions with Visual PL/I

1. Warning on level of PL/I for OS/2

   If the PMWIN.CPY file in the \IBMPLI\INCLUDE directory is
   dated June 1, 1994 (Personal Version) or June 2, 1994
   (Professional Version) or earlier, then you MUST install
   the version of PMWIN.CPY that comes with the Visual PL/I product.
   You can find this file in the \PLITK\INCLUDE
   directory with a name of PMWIN.CPN.  Rename the existing
   PMWIN.CPY file in the \IBMPLI\INCLUDE directory, then copy
   the Visual PL/I version into that directory, renaming it
   to PMWIN.CPY.

2. Reference to restrictions on the C2PLI tool

   Please refer to the CREAD.ME file in the base Visual PL/I
   directory for information and tips on using the C2PLI tool
   provided with the PL/I for OS/2 Toolkit product.

3. New OS/2 header file information

   Newer versions of the OS/2 header files have been provided
   with the Visual PL/I product.  They can be found in the
   \PLITK\NEWCPY\*.CV2 directory.  If you decide to use them,
   please copy them to a directory along your INCLUDE path and
   rename them to *.CPY.

4. Known restrictions with Visual PL/I

   A. Scrolling problem in HELP information window

      Problem:
      Use of the scroll bar in the Identifiers drop-down list
      may cause Visual PL/I to end unexpectedly.  It seems to
      only occur on fast machines.

      Answer:
      To go up or down in the drop-down list, make the furthest
      identifier in the direction you are going the current
      selection.  Drop the list down again and repeat until you
      reach your identifier.

      To minimize lost information, enter the text for the
      current identifier then select OK.  Click the right mouse
      button on the base project and select SAVE.  Go back to
      the Help information window, select the next identifier,
      then repeat the process.

   B. System Bitmaps are not shown when Visual PL/I is restarted

      Problem:
      When more than one system bitmap is placed in a window
      and saved, and then Visual PL/I is stopped and restarted, only
      the first system bitmap will appear in the window when it
      is redisplayed.  An empty rectangle will appear where any
      other system bitmap was placed.

      Answer:
      Even though the picture doesn't reappear, the system still
      remembers which system bitmap was originally placed there.  To
      bring back the picture, click the right mouse button on the
      empty rectangle, select CHANGE...  (or press Enter), then
      select OK (or press enter).  The system bitmap will reappear.

   C. Bitmaps in dialog boxes do not respond to resizing

      Problem:
      When a bitmap is placed in a dialog box and is resized, the
      bitmap in the compiled version of that dialog box does not
      reflect the resizing.

      Answer:
      Resizing of bitmaps in dialog boxes is not supported.  The
      bitmap in the compiled dialog box appears as the size of the
      bitmap when it was originally created.  If you wish to
      resize a bitmap, use a window instead of a dialog box.
      Resizing of bitmaps is supported in windows.

   D. 'Output windows and menus to .DLG' restrictions

      Problem:
      The setting of the 'Output windows and menus to .DLG' option
      on the 'Output Options' page in the Project Settings Notebook is
      restricted to the initial opening of a project.  Changing
      this option after windows or menus have been added to the
      project will cause unpredictable results and is not supported.

      Answer:
      If the setting must be changed, you can change it in the
      following way:

      1. Create a new code block in the 'My Code Blocks' library and
         name it 'Create a primary window'.  Create the new code block
         by combining the 'Create Std Window' and 'Set Window Pos'
         code blocks found in PMGUIDE.PLF.  Your new code block
         would look something like this:

         ++++++++++++++++++++  begin code block +++++++++++++++++++++++

            &&pmgmycb.obj BEGIN Create a primary window
            GLOBAL_VARIABLES dcl WINDOW MODULEHANDLE HMODULE;
            INITFUNCTION WINDOW MODULEHANDLE=hModule0;

            /* Create a standard window */

            WINDOW HANDLE = WinCreateStdWindow(WINDOW PARENT,
                                               ior(WINDOW STYLECOMMA),
                                               WINDOW FCFVAR,
                                               WINDOW CLASS,
                                               WINDOW TITLE,
                                               0,
                                               WINDOW MODULEHANDLE,
                                               WINDOW ID,
                                               addr( WINDOW CLHANDLE ));



            /* Set the window position */
            call WinSetWindowPos(WINDOW HANDLE,
                            HWND_BOTTOM,
                            WINDOW XPOS,
                            WINDOW YPOS,
                            WINDOW XSIZE,
                            WINDOW YSIZE,
                            ior(SWP_MOVE , SWP_SIZE , SWP_ACTIVATE)     );

            END

         ++++++++++++++++++++  end code block +++++++++++++++++++++++

      2. When you change the state of the DLG check box you will need to
         also change the way the primary window is loaded.  To do this,
         click on the right mouse button in the client area of the
         project you are working on and select the LINKS...  item.  Then
         page down the EVENT list box until you find CREATE_STD_WINDOW,
         then select it.  The current code block title will appear in the
         EVENT LINKS list box.

         Do one of the following:

         If the DLG check box was initially checked but was changed
         to an unchecked state, then you need to replace the 'Load a
         window from a window template' code block with the 'Create
         a primary window' code block you have just created.

         If the DLG check box was initially unchecked but was changed
         to a checked state, then you need to replace the 'Create
         Std Window' (or 'Create a primary window') code block with
         the 'Load a window from a window template' code block, which
         can be found in the 'Basic PM Functions' library.

      3. Now Save and Build the project to make the changes take
         effect.

E. Linker errors when building DLLs.

   Problem:
   The linker gives a warning message when building a DLL.  The
   initialization routine, CEE2DIUX, will not be called.

   Answer:
   Add the /NOE to the linker options by following these steps.
     1. Clicking on the client area of the project window.
     2. Select Open and then Settings.
     3. Select Compiler & Link.
     4. Add /NOE to the linker command entry field.  The entry
        should now be 'LINK386 /CO /PM:PM /NOE'.

 TRADEMARKS
  __________

  The following items are trademarks of the IBM Corporation:
      IBM
      OS/2

