Dealing with PM application problems under OS/2 2.x is similar to WARP. The principle difference being that the messaging and windowing function in PM is provided by the 16-bit DLL, PMWIN.DLL.

Most of the message structures are analogous to those of PMMERGE.DLL, their layouts are similar.

Under PMWIN.DLL most pointers are either offsets from a predefined segments or selectors. Thus where there are double-word pointers in PMMERGE.DLL structures, there are word length fields in PMWIN.DLL.

The following three symbol files are required for debugging PM applications problems under OS/2 2.x:

A selection of useful symbols in the OS/2 2.x PM environment, with their equivalent OS/2 3.0 is listed below:

OS/2 3.0

pmqlist pmqsyslock pmqfocus pmqshell pmqshell2 pwndfocus fBadAppDialog qhpsBadApp

Another significant difference between the two environments is in the calling conventions:

In effect this means that parameters on stacks, and in some control blocks, are stored in reverse order.

There are four symbols that do not have equivalents in PMMERGE, these are:

winsel

selsms vphheapwnd fsrsuser

We now run through a brief sequence of examples that illustrate:


[Back] [Next]