home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
pmm100.zip
/
README.TXT
< prev
Wrap
Text File
|
1999-03-30
|
5KB
|
137 lines
Welcome to PMM, a Presentation Manager Monitor
TABLE OF CONTENTS
-----------------
1. Introduction
2. Installing and Using PMM
3. How to Get Help
4. Hints and Tips
5. Limitations
6. Notes about PMM Version 1.0
7. Files on the Archive
1. Introduction
---------------
PMM is a tool to show the message stream in a Presentation Manager
application. It is designed to be linked to an application under
development, and reports on the message stream relative to that
application.
PMM is Freeware. It may be freely distributed, provided the distribution
package is not modified. No person or company may charge a fee for the
distribution of PMM, other than to cover cost of media, without written
permission from the author.
2. Installing and Using PMM
---------------------------
PMM Version 1.0 has no INSTALL program. There are a few steps to install
and use the tool. Read the section "Installing and Using PMM" in the
online document PMMMAN.TXT.
After finishing the installation you can run the included example program
PMMSAM and have a first look at the features and output of PMM.
NOTE:
Dynamic Link Libraries use the stack space of the calling process.
PMM needs a minimal stack space of about 100 Kb. If you are experiencing
any problems consider augmenting the application stack space to more
than 100 Kb.
3. How to Get Help
------------------
Any comments, suggestions, bug reports, etc. will be very welcome.
E-mail to: salvador_amoros@teleline.es
4. Hints and Tips
-----------------
1. If you use send message hooks try, whenever possible:
- when initiating an application, install your hooks first and then
create the PMM trace session
- when terminating an application, destroy the PMM trace session first
and then uninstall your hooks
You cannot use PMM if you do not have access to the source code for
the hooks. See the section "Using Hooks with PMM," in the manual.
2. If you subclass windows and use PMM, I strongly recommend that you use
the functions PMMSubclassWindow, PMMSetWindowPtr and
PMMQueryWindowPtr.
3. Configure PMM to meet your needs. Trace only the message groups you
are interested in. This will result in improved performance for PMM.
4. If you need *all* messages occurring in an application, you must
create a trace session *before* any window has been created *and*
you must destroy the trace session *after* all windows have been
destroyed.
5. The operating system uses certain message values higher than
WM_USER, which are:
WM_USER + 40 to WM_USER + 42 (File Dialog Messages)
WM_USER + 50 to WM_USER + 55 (Font Dialog Messages)
PMM detects automatically the File Dialog Messages and the Font Dialog
Messages differentiating them from user messages. PMM has no problem
in distinguishing WM_USER messages, whether sent to standard dialog
boxes or sent to any other window in your application. However, as a
general rule, you are bound to have problems if you use WM_USER
messages that are also used by other standard windows. Therefore,
avoid using messages in the above ranges.
5. Limitations
--------------
- Multimedia messages are detected but not interpreted
- Bidirectional language support messages are not interpreted
- PMM has been tested in C, C++ and classical Pascal (i.e. not object
oriented Pascal). The use of PMM in languages other than C is not
documented in the PMM manual
6. Notes about PMM Version 1.0
------------------------------
I have tested PMM in C++ code and it worked correctly. A limitation,
however, remains: if you want *all* messages in an application, at
what point in code should be called the function PMMDestroyTraceSession?
It should be a point where: (1) *all* windows have been destroyed
(even the windows on the stack) and (2) the message queue has not been
destroyed.
I have not dedicated much time to this question. Any suggestions?
7. Files on the Archive
-----------------------
Files on the compressed archive PMM100.ZIP:
FILE_ID.DIZ Id file for BBSs
README.TXT This file
PMMMAN.TXT PMM Manual
PMMPOS2.H PMM Include File
PMM.H PMM Include File
PMM.LIB PMM Library File
PMM.DLL PMM Dynamic Link Library File
PMMSAM.MAK PMM Sample Make File
PMMSAM.LNK PMM Sample Link File
PMMSAM.DEF PMM Sample Module Definition File
PMMSAM.C PMM Sample Source C File
PMMSAM.H PMM Sample Include File
PMMSAM.RC PMM Sample Resource File
PMMSAM.ICO PMM Sample Icon File
PMMSAM.EXE PMM Sample Executable File