Petzold Programming Windows Fifth Edition Section 1 Regression Tests

Ira Krakow ikrakow_1999 at
Mon Jan 24 13:38:34 CST 2005

I'm going through the examples in Petzold's
Programming Windows Fifth Edition, to familiarize
myself with Winelib and to test against Wine 20050111.
 I am also comparing the output against Visual C++ 6.0
compilation on Windows XP.

I finished Section 1 (Chapters 1-12) and found the
following differences.  (I didn't want to report these
as bugs until others verified them, as well as my
approach.)  I have the source and can narrow down the
code if you think this is necessary.

I will proceed to Section 2 and report when I'm


Chapter 3:  HelloWin.c   Could not compile because
PlaySoundA was not found.

Chapter 5:  SineWave.c  at runtime, after sine wave
displays OK and window is dismissed, get messages:
err:dc:DCE_FreeWindowDCE [0x50030] GetDC() without
I rerun and get a variable number of the messages, and
the address inside the brackets [] changes.

Clover.c    Draws the clover regions initially OK, but
does not redraw when the user resizes the window. 
Note:  The resizing works in Windows XP when compiled
with Visual C++ 6.0.

Chapter 8:  WhatClr.c   Compiles and runs, but doesn't
display the correct colors all the time.  For example,
if the cursor is under the black letters, doesn't
display FF FF FF but pulsates.  ALso displays FF FF FF
when on a white pixel, when it  should be 00 00 00.

Chapter 9:  PopPad1.c   Compiles and runs and works
for the most part.  However, if you start typing on
line 1 and keep typing to beyond the end of the line,
the text redisplays at the bottom.  In Windows, it
keeps  displaying on the same line and scrolls.
            Head.c      Compiler warning on passing
NULLto ReadFile:
head.c:179 warning:  passing arg 4 of 'ReadFile' from
incompatible pointer type.
But runs OK.
Chapter 10:  IconDemo.c  Resource compiler warning: 
In non MFC projects, winemaker replaces the MFC
specific header 'afxres.h' with 'winres.h'.  Icon
resource compiles OK and program runs OK.

             PoePoem.c  Compiles OK.  Exception raised
"Unhandled page fault on write access to 0x7637f17a at
address 0x7637e592.  Do you wish to debug it?"
Goes into Winedbg if you click Yes.

             PoorMenu.c  Compiles and runs.  However,
it doesn't add the additional menu choices to the
System Menu.

             NoPopup.c   Compiles and runs.  However,
does not display all the menu choices if you double
click the File.. choice.  Should have New, Open, Save,
Save As, and Main.  The choices are there but hidden -
need to click on each choice. The Main item, when
clicked, should restore the MAIN menu but does not do
so.  Compare with Windows version.

Chapter 11:  About3.c    OK, except that the custom
icon (III) does not replace the down arrow in the
upper left corner of the window, which it does in the
Windows version.
             HexCalc.c   Compiles and calculates OK. 
The button display is rectangular (long and narrow). 
On Windows the buttons display square. 

             PopAd3.c    OK.  Produces message: 
fixme:commdlg:GetFileName95 Flags 0x00002000 not yet
when invoking the File Open dialog but otherwise works

Chapter 12: ClipView.c  Compiles and runs but does not
update the clipboard when the clipboard contents
Run ClipText under Wine, copy or cut the text to the
clipboard, ClipView does not see the clipboard

More information about the wine-devel mailing list