|
From: Vlada D. <dj...@im...> - 2003-06-20 11:16:58
|
----- Original Message -----
From: "Daniel Glenfield" <sp...@ho...>
To: <dj...@im...>; <dev...@li...>
Sent: Friday, June 20, 2003 12:48 PM
Subject: Re: [Dev-C++] display bitmap
> Have you run this program and not had an error yet? Because I think you
are
> deleting a DC but you've not called DeleteObject(), so the memory is still
> being used.
>
> Try a shut down and reboot, and chang ethe code before trying again.
>
This happens since the first time I ran the program. Anyway, I did a reboot,
and changed the code:
HBITMAP hOldBMP=(HBITMAP)SelectObject(memDC,hBitmap);
BitBlt(.......);
SelectObject(memDC,hOldBMP);
DeleteDC(memDC);
but still same thing. I think that even with a memory leak, it sholud run at
least a few times, asuming there's nothing wrong with the code. Maybe I
shold try it on some other machine?
>
> >From: "Vlada Djurovic" <dj...@im...>
> >To: "'DevC++ help'" <dev...@li...>
> >Subject: [Dev-C++] display bitmap
> >Date: Fri, 20 Jun 2003 12:27:55 +0200
> >
> >Hi.
> >In this piece of code, I try to load bitmap image from a file and display
> >it
> >in a window. When I run the program, nothing happens. After the call to
> >LoadImage(), I call the error() function, which calls GetLastError() and
> >displays a message box with error description. In this way, I receive a
> >message "Not enough storage is available to process this command". Now,
I'm
> >not sure if there something wrong with the code, or I realy run out of
> >memory (which I doubt). My computer is Pentium 2 with 128 MB RAM and 20GB
> >hard drive. This code is actually the only code in this program, except
for
> >standard Windows code, so I don't think there should be any memory leak.
> >Can
> >you tell me if the code is OK?
> >P.S. I should also say that there's no message "Could not load image", so
I
> >guess the bitmap handle is valid?
> >How can that be if LoadImage() could not be completed?
> >---------------------
> > LPTSTR szFileName=TEXT("bitmapa.bmp");
> > HBITMAP
>
>hBitmap=(HBITMAP)LoadImage(GetModuleHandle(NULL),szFileName,IMAGE_BITMAP,0,
0
> >,
> > LR_LOADFROMFILE|LR_CREATEDIBSECTION);
> > error(); //this function calls GetLastError() and
displays
> >a
> >message box
> > if(!hBitmap)
> > MessageBox(hwnd,"Could not load image","Error",MB_OK);
> > BITMAP bmp;
> > GetObject(hBitmap,sizeof(BITMAP),&bmp);
> > PAINTSTRUCT ps;
> > HDC hDC=BeginPaint(hwnd,&ps);
> > HDC memDC=CreateCompatibleDC(hDC);
> > SelectObject(memDC,hBitmap);
> >
BitBlt(hDC,0,0,bmp.bmWidth,bmp.bmHeight,memDC,0,0,SRCCOPY);
> > DeleteDC(memDC);
> > EndPaint(hwnd,&ps);
> >-------------------------------------
> >------------
> >Vlada
> >
> >
> >
> >-------------------------------------------------------
> >This SF.Net email is sponsored by: INetU
> >Attention Web Developers & Consultants: Become An INetU Hosting Partner.
> >Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
> >INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
> >_______________________________________________
> >Dev-cpp-users mailing list
> >Dev...@li...
> >TO UNSUBSCRIBE: http://www.noicys.cjb.net/devcpp/ub.htm
> >https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
>
> _________________________________________________________________
> Stay in touch with absent friends - get MSN Messenger
> http://www.msn.co.uk/messenger
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: INetU
> Attention Web Developers & Consultants: Become An INetU Hosting Partner.
> Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
> INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
> _______________________________________________
> Dev-cpp-users mailing list
> Dev...@li...
> TO UNSUBSCRIBE: http://www.noicys.cjb.net/devcpp/ub.htm
> https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
>
|