Jump to content
  • Advertisement


This topic is now archived and is closed to further replies.


GDI Failure error from Borland C++ 5

This topic is 5945 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello. I''m somewhat new to game programming, having next to no experience with Windows programming. for the last few weeks, I''ve been reading Tricks of the Windows Game Programming Gurus and recently finished the chapters on GDI. All of these programs compile fine on my computer. However, when I tried to do some of my own work I would get an error whenever I tried to move the window or close it. When I do either I get a message box with "Object Windows Exception", "GDI Failure." I click OK and I then get several dozen page faults and Borland closes. For code, I''m basically using the base file from the end of Chapter 4. The error appears if all I do is create one brush and pen and try to draw a rectangle. Basically, I am wondering what this error is and if its my compiler or if this could happen on some other compiler, be it VC++ or some other one.

Share this post

Link to post
Share on other sites
Are you checking the return values of the function calls that create the brush and pen? They may be failing and then you might be trying to use invalid values in later function calls.

Steve ''Sly'' Williams  Monkey Wrangler  Krome Studios
turbo game development with Borland compilers

Share this post

Link to post
Share on other sites
The chapter deals with mainly drawing pixels, lines, polygons, ellipses, and rectangles using GDI from Windows.
Below are the main lines that I''m using to do the drawing, taken pretty much word for word from the book. I simply changed some of the values.

hdc = GetDC(hwnd);

red_pen = CreatePen(PS_SOLID, 1, RGB(255, 0, 0));
black_brush = CreateSolidBrush(RGB(255, 255, 255));
SelectObject(hdc, red_pen);
SelectObject(hdc, black_brush);

Rectangle(hdc, 0, 0, 133, 133);

ReleaseDC(hwnd, hdc);

Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!