|
DC를 릴리즈 해주셔야 됩니다.
ReleaseDC(Form1->Handle, pCanvas->Handle);
delete pCanvas;
delete pSymbol;
커트 님이 쓰신 글 :
: 화면상에 그림을 그릴때마다 GDI개채가 계속 증가합니다.(10000개가 되면 프로그램 죽어버리네요..ㅜㅜ)
: 그림을 그리고 해제를 해야하는데 계속 증가하네요. 1분주기로 계속적인 드로잉 작업이 실행되는데 GDI개채는 계속
: 증가만...ㅠㅠ
: GDI개채 증가를 막을 수 있는 방법좀 가르쳐 주세요.... 4일에 한번씩 프로그램 리셋하고 있습니다...
:
: void TCTRWM001M1::CtrSymbolDisplay(long x, long y)
: {
: // Form에 ActiveX가 올라가있기때문에 가상의 캔버스를 생성했습니다.
: Graphics::TCanvas *pCanvas = new Graphics::TCanvas();
: Graphics::TBitmap *pSymbol = new Graphics::TBitmap();
: pCanvas->Handle = HDC(Form1->hDC);
: pSymbol->Transparent = true;
:
: pSymbol->LoadFromFile("../mmd/image/rightyellow.bmp");
: pCanvas->Draw(x, y, pSymbol);
:
: // 이렇게만 삭제하는게 아닐듯 싶은데...
: delete pCanvas;
: delete pSymbol;
: }
|