home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / pmm100.zip / README.TXT < prev   
Text File  |  1999-03-30  |  5KB  |  137 lines

  1.  
  2.  
  3. Welcome to PMM, a Presentation Manager Monitor
  4.  
  5.  
  6.  
  7. TABLE OF CONTENTS
  8. -----------------
  9.  
  10.  1. Introduction
  11.  2. Installing and Using PMM
  12.  3. How to Get Help
  13.  4. Hints and Tips
  14.  5. Limitations
  15.  6. Notes about PMM Version 1.0
  16.  7. Files on the Archive
  17.  
  18.  
  19. 1. Introduction
  20. ---------------
  21.  
  22.    PMM is a tool to show the message stream in a Presentation Manager
  23.    application.  It is designed to be linked to an application under
  24.    development, and reports on the message stream relative to that
  25.    application.
  26.  
  27.    PMM is Freeware.  It may be freely distributed, provided the distribution
  28.    package is not modified.  No person or company may charge a fee for the
  29.    distribution of PMM, other than to cover cost of media, without written
  30.    permission from the author.
  31.  
  32.  
  33. 2. Installing and Using PMM
  34. ---------------------------
  35.  
  36.    PMM Version 1.0 has no INSTALL program.  There are a few steps to install
  37.    and use the tool.  Read the section "Installing and Using PMM" in the
  38.    online document PMMMAN.TXT.
  39.  
  40.    After finishing the installation you can run the included example program
  41.    PMMSAM and have a first look at the features and output of PMM.
  42.  
  43.    NOTE:
  44.    Dynamic Link Libraries use the stack space of the calling process.
  45.    PMM needs a minimal stack space of about 100 Kb.  If you are experiencing
  46.    any problems consider augmenting the application stack space to more
  47.    than 100 Kb.
  48.  
  49.  
  50. 3. How to Get Help
  51. ------------------
  52.  
  53.    Any comments, suggestions, bug reports, etc. will be very welcome.
  54.    E-mail to: salvador_amoros@teleline.es
  55.  
  56.  
  57. 4. Hints and Tips
  58. -----------------
  59.  
  60.    1. If you use send message hooks try, whenever possible:
  61.  
  62.       - when initiating an application, install your hooks first and then
  63.         create the PMM trace session
  64.       - when terminating an application, destroy the PMM trace session first
  65.         and then uninstall your hooks
  66.  
  67.       You cannot use PMM if you do not have access to the source code for
  68.       the hooks.  See the section "Using Hooks with PMM," in the manual.
  69.    2. If you subclass windows and use PMM, I strongly recommend that you use
  70.       the functions PMMSubclassWindow, PMMSetWindowPtr and
  71.       PMMQueryWindowPtr.
  72.    3. Configure PMM to meet your needs.  Trace only the message groups you
  73.       are interested in.  This will result in improved performance for PMM.
  74.    4. If you need *all* messages occurring in an application, you must
  75.       create a trace session *before* any window has been created *and*
  76.       you must destroy the trace session *after* all windows have been
  77.       destroyed.
  78.    5. The operating system uses certain message values higher than
  79.       WM_USER, which are:
  80.  
  81.       WM_USER + 40 to WM_USER + 42      (File Dialog Messages)
  82.       WM_USER + 50 to WM_USER + 55      (Font Dialog Messages)
  83.  
  84.       PMM detects automatically the File Dialog Messages and the Font Dialog
  85.       Messages differentiating them from user messages.  PMM has no problem
  86.       in distinguishing WM_USER messages, whether sent to standard dialog
  87.       boxes or sent to any other window in your application.  However, as a
  88.       general rule, you are bound to have problems if you use WM_USER
  89.       messages that are also used by other standard windows. Therefore,
  90.       avoid using messages in the above ranges.
  91.  
  92.  
  93. 5. Limitations
  94. --------------
  95.  
  96.    - Multimedia messages are detected but not interpreted
  97.    - Bidirectional language support messages are not interpreted
  98.    - PMM has been tested in C, C++ and classical Pascal (i.e. not object
  99.      oriented Pascal).  The use of PMM in languages other than C is not
  100.      documented in the PMM manual
  101.  
  102.  
  103. 6. Notes about PMM Version 1.0
  104. ------------------------------
  105.  
  106.    I have tested PMM in C++ code and it worked correctly.  A limitation,
  107.    however, remains: if you want *all* messages in an application, at
  108.    what point in code should be called the function PMMDestroyTraceSession?
  109.    It should be a point where: (1) *all* windows have been destroyed
  110.    (even the windows on the stack) and (2) the message queue has not been
  111.    destroyed.
  112.  
  113.    I have not dedicated much time to this question.  Any suggestions?
  114.  
  115.  
  116. 7. Files on the Archive
  117. -----------------------
  118.  
  119.    Files on the compressed archive PMM100.ZIP:
  120.  
  121.    FILE_ID.DIZ                  Id file for BBSs
  122.    README.TXT                   This file
  123.    PMMMAN.TXT                   PMM Manual
  124.    PMMPOS2.H                    PMM Include File
  125.    PMM.H                        PMM Include File
  126.    PMM.LIB                      PMM Library File
  127.    PMM.DLL                      PMM Dynamic Link Library File
  128.    PMMSAM.MAK                   PMM Sample Make File
  129.    PMMSAM.LNK                   PMM Sample Link File
  130.    PMMSAM.DEF                   PMM Sample Module Definition File
  131.    PMMSAM.C                     PMM Sample Source C File
  132.    PMMSAM.H                     PMM Sample Include File
  133.    PMMSAM.RC                    PMM Sample Resource File
  134.    PMMSAM.ICO                   PMM Sample Icon File
  135.    PMMSAM.EXE                   PMM Sample Executable File
  136.  
  137.