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
[68661] TBitmap으로 선언된 맴버변수를 재사용할려고 합니다.
안녕하세요 [] 1391 읽음    2012-11-22 10:18
class A {    // 클래스선언
public:
    __fastcall A(TComponent);    // 생성자
    __fastcall ~A();        // 소멸자
    void __fastcall SetVolumeMeter( int Vol );
private:
    TImage *imgVolumeLevel;
    TImageList *imgVolumeList;
    Graphics::TBitmap *tempBMP;    // 임시저장소 할당

};







// 맴버함수 정의
__fastcall A::A(TComponent* Owner)
    :TForm(Owner)
{
    tempBMP = new Graphics::TBitmap;
}

__fastcall A::~A()
{
    if( tempBMP)
    {
        delete tempBMP;
    }
    tempBMP = NULL;
}

void __fastcall A::SetVolumeMeter( int Vol )   
{
//    tempBMP->FreeImage();
    imgVolumeList->GetBitmap( Vol, tempBMP );
    imgVolumeLevel->Picture->Assign(tempBMP);
}


SetVolumeMeter() 메소드 보시면 리스트에서 해당하는 이미지를 tempBMP에다가

임시 저장시킨다음 imgVolumeLevel에다가 이미지를 다시 Assign() 시키고있습니다.

근데 좀 사용하다 보면

Project main.exe raised exception class EOutOfResources with message 'Out of system resources'.

이란 경고창이 나오면서 프로그램이 죽어버립니다...

더욱 제가 궁금한것은     tempBMP->FreeImage();를 넣어주면 프로그램이 1분정도 더 오래살고

빼면 프로그램 시작하자마자 정말 빨리죽는데요



참고로 SetVolumeMeter는 호출빈도수가 상당히 높습니다

혹시 제가 뭔가 잘못하고 있는건지 궁금합니다

+ -

관련 글 리스트
68661 TBitmap으로 선언된 맴버변수를 재사용할려고 합니다. 안녕하세요 1391 2012/11/22
68673     Re:TBitmap으로 선언된 맴버변수를 재사용할려고 합니다. 아루스 1440 2012/11/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.