Programming Windows (Fifth Edition)
Table of contents
- General
- Introduction
- News
- Testing configuration
- Statistics
- Installation
- Wine notes
- Winelib notes
- Test Results
Get the complete testing kit, including these pages, from:
PrgWin98-0.2.1.tar.gz
(it's released under the X11 license)
- 0.2.1: Reporting some fixes in Wine
- The edit flicker has been fixed by Ulrich Czekalla. Great work!
- The menu separator bug has been fixed.
- The enhanced metafile limitations that plagged Emf1 have been fixed.
- Packaged the book's Errata as a patch so that generate can be apply them.
- 0.2.0: Major update, now uses the winemaker-based wpbtk.
- Retested most examples with the latest Wine.
- The Winelib tests now use winemaker-based makefiles and
thus they can (finally) be used with the latest Wine.
- Winelib applications are now linked with Wine's msvcrt.dll which solves
most C library related compilation problems.
- Converted the screenshots to png :-).
The tests have been performed on my Linux box:
- Linux: Debian 2.2 (potato)
- Kernel: 2.2.17pre6
- Libc: glibc 2.2.1
- X Server: XFree86 3.3.x in 1600x1200x16
- Gcc version: 2.95.2
- G++ version: 2.95.2
- Wine version: Usually the CVS version as of the date indicated for
each test
- Windows version: Windows 98
I sometimes say that the values I get are different from what I get on
Windows. In that case the reference is a Windows 98 laptop running in
1024x768x24. Of course I ignored differences related to the resolution.
148 examples
39 have been tested (26%)
|
12 have Wine errors (31% of tested) |
11 have warnings (28% of tested) |
for a total of 15 errors |
for a total of 18 warnings |
2 have Winelib errors (1% of total) |
8 have warnings (5% of total) |
for a total of 2 errors |
for a total of 8 warnings |
145 executables |
144 Winelib executables (99%) |
3 libraries |
3 Winelib libraries (100%) |
170 C files |
169 compiled (99%) |
1 C++ files |
1 compiled (100%) |
53 RC files |
53 compiled (100%) |
As you can see progress has been made since the last release, especially
concerning Winelib.
148 examples
19 have been tested (13%)
|
4 have Wine errors (21% of tested) |
9 have warnings (47% of tested) |
for a total of 4 errors |
for a total of 15 warnings |
90 have WineLib errors (61% of total) |
12 have warnings (8% of total) |
for a total of 104 errors |
for a total of 12 warnings |
145 executables |
59 WineLib executables (41%) |
3 libraries |
0 WineLib libraries (0%) |
170 C files |
111 compiled (65%) |
1 C++ files |
1 compiled (100%) |
53 RC files |
0 compiled (0%) |
To install this testing kit follow these steps:
#Copy the contents of the CD to some directory.
mkdir PrgWin98
cd PrgWin98
cp -r /cdrom/Chap* .
# The directories will be read-only, make them read-write
chmod -R u+w *
# Run winemaker as follows
winemaker --nogenerated-files .
# Uncompress the contents of the testing kit. Adapt to the version you got
tar xvfz ~/PrgWin98-0.2.1.tar.gz
# Then complete the setup.
./generate --setup
# And prepare the compilation
./configure --with-wine=$HOME/wine
# Make sure you have set up the environment correctly for using Wine
# Then recompile everything, keeping a log
make 2>&1 | tee make.log
To compile and perform the tests with Wine you will need to set up
the Wine environment (LD_LIBRARY_PATH and PATH) as you usually do when
you want to use Wine.
We pretty much find the same problems as for 'Programming Windows 95'
so the best is to see the relevant section from the web site.
Most Winelib errors of the previous release (include case issues, use of
afxres.h instead of winres.h) were solved by Winemaker. The rest (source
files located in weird locations, extra libraries) was taken care of by
adjusting the winemaker generated makefiles.
- Chapter 1 - Getting Started
- Chapter 2 - An Introduction to Unicode
- Chapter 3 - Windows and Messages
- Chapter 4 - An Exercise in Text Output
- Chapter 5 - Basic Drawing
- Chapter 6 - The Keyboard
- Chapter 7 - The Mouse
- Chapter 8 - The Timer
- Chapter 9 - Child Window Controls
- Chapter 10 - Menus and Other Resources
- Chapter 11 - Dialog Boxes
- Chapter 12 - The Clipboard
- Chapter 13 - Using the Printer
- Chapter 14 - Bitmaps and Bitblts
- Chapter 15 - The Device-Independent Bitmap
- Chapter 16 - The Palette Manager
- Chapter 17 - Text and Fonts
- Chapter 18 - Metafiles
- Chapter 19 - The Multiple-Document Interface
- Chapter 20 - Multitasking and Multithreading
- Chapter 21 - Dynamic-Link Libraries
- Chapter 22 - Sound and Music
- Chapter 23 - A Taste of the Internet