C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[41594] Re:[질문] 비트맵저장시 리소스 부족에러가 납니다
유영인 Cuperido [cuperido] 1027 읽음    2005-08-22 17:08
delete Capture14 , JPEGIMAGE14  와..
GetDC 와 ReleaseDC가 짝이 안맞는것 같네요.

DC14 = GetDC(0);
ReleaseDC(0, DC14);

이렇게 두개가 짝이 맞아야 합니다.

그리고 95/98 OS 버젼에서 ReleaseDC 가 완전히 메모리를 해제 못하는
경우가 발생하므로, 쓰레드 안에 GetDC를 넣지 마시고 전역 변수로 하나
Create 시에 가지고 계셨다가, Destroy 시에 Release 해주시면 될것 같습니다.


cuperido


궁금한 사람 님이 쓰신 글 :
: 화면을 캡쳐하는 부분입니다. 물론 아래 코드는 쓰레드 안에 코딩되어 있습니다.
: 예전에 유영인님께서 답변을 해주세서 수정해서 해봤는데...마찬가집니다.
: 프로그램이 한두시간정도 동작한뒤에 이런에러가 뜨는것 같네요.
: 리소스가 부족하다는 에러메세지가 뜹니다. (Out of Resourece....)
: 물론 아래 변수들은 모두 전역변수로 선언했습니다.
: 프로그램 내구검사용이라 만약 내구검사회수(반복회수) 한 2달정도 계속 프로그램이 실행되고 있습니다.
: 그림파일 하나의 용량이 약 700K 정도 되네요. 아래 코딩된 부분이 실행되는 주기는 약 2분정도입니다.
:
:  //screen capture and save jpg file ------------------------------------
: DC14 = GetDC(0);
: Capture14 = new Graphics::TBitmap;
: JPEGIMAGE14 = new TJPEGImage();
:
: Capture14->Width  = 1280;
: Capture14->Height = 1024;
: Capture14->PixelFormat = pf16bit;
:
: BitBlt(Capture14->Canvas->Handle, 0, 0, 1280, 1024, DC14, 0, 0, SRCCOPY);
: sprintf(textname,"정전내구%04d%02d%02d_CNT%06d.jpg", year, month, day, Form14->current_cycle);
:
: JPEGIMAGE14->Assign(Capture14);
: JPEGIMAGE14->CompressionQuality = 100;
: JPEGIMAGE14->SaveToFile(textname);

+ -

관련 글 리스트
41592 [질문] 비트맵저장시 리소스 부족에러가 납니다 궁금한 사람 918 2005/08/22
41594     Re:[질문] 비트맵저장시 리소스 부족에러가 납니다 유영인 Cuperido 1027 2005/08/22
41598         Re:Re:[질문] 비트맵저장시 리소스 부족에러가 납니다 다시한번 질문 873 2005/08/22
41599             Re:Re:Re:[질문] 비트맵저장시 리소스 부족에러가 납니다 유영인 Cuperido 1330 2005/08/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.