If anyone has tried to use the CBitmapDC class from my article, they may
have found that under Win9X / WinME it causes crashes. I myself finally got
a reason to put it in a project, and I couldn't understand why it seemed to
work fine under WinXP for me, but relentlessly bombed out under Win98 for my
friends. Well, I tracked it down finally and it turned out to be some
shamefully sloppy attempts at short-cutting the class variable
initialisation process by calling my own public routines to theoretically
give variables their first known value. Sadly, those routines were checking
variables to make sure they didn't do anything stupid, but of course in this
case the variables hadn't been initialised yet - that was the whole point of
me calling those routines at construction time!

That was a lesson well learned. INITIALISE VARIABLES MANUALLY, NOT THROUGH
PUBLIC ROUTINES. Doh!
(If anyone is interested in an explanation of exactly how I shot myself in
the foot, I'm prepared to humiliate myself publicy by demonstrating with a
code sample).

So I've updated the H and CPP files for that class in the article
(http://www.beginthread.com/Article/Jason%20Teagle/CBitmapDC%20Helper%20Clas
s/).

I hope this will resolve any nightmares it has caused people, it sure
resolved on for me last night {;v)

--
Jason Teagle
[EMAIL PROTECTED]



_______________________________________________
msvc mailing list
[EMAIL PROTECTED]
See http://beginthread.com/mailman/listinfo/msvc_beginthread.com for subscription 
changes, and list archive.

Reply via email to