|
메모리가 올라가는것을 확인하고 이미지 만을 변경한 부분만을
타이머로 돌리고 있습니다.
장성호 님이 쓰신 글 :
: 처음들어보는 얘기네요
: C++Builder 6.0 쓰고 있는데. 그런 버그는 없는걸로 알고있습니다.
:
: 한번 TImage를 폼에 3개 올려서
: 두개의 TImage에 있는 image를 나머지 하나의 TImage에 번갈아 가면서 Assign해 봤습니다.
: 한 10분 이상 while문 돌려봤는데... 일정이상 올라가지 않는데요...
:
: 프로그램에서 다른부분은 다 빼고 TImage만 올려서 테스트 해 보십시요
:
:
: bool bOn;
: void __fastcall TForm1::Button2Click(TObject *Sender)
: {
: bOn=true;
: while(bOn)
: {
: if(Image3->Tag)
: Image3->Picture->Assign(Image1->Picture);
: else
: Image3->Picture->Assign(Image2->Picture);
:
: Image3->Tag=Image3->Tag?0:1;
:
: Application->ProcessMessages();
:
: }
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button3Click(TObject *Sender)
: {
: bOn=false;
: }
: //---------------------------------------------------------------------------
:
: 그럼
:
: 파란호빵 님이 쓰신 글 :
: : 이미지에서 이미지를 복사시 불특정하게 메모리가 올가 가는 문제가 있는데..
: : 무엇때문인지 정확하게 모르겠어서 올려 봅니다.
: : 아시는 개발자님 계심 답좀 주세요.....
: :
: : gImg->Picture->Bitmap = NULL; 처리
: : [테스트 1]
: : 1. 3개의 TImage 콤포넌트에 상태별 bmp 이미를 넣어 Visible = false (Img1, Img2, Img3)
: : TImage *gImg;
: :
: : gImg->Picture->Assign(Img1->Picture); // 일케 해도 시간대 별로 메모리가 올라감
: : gImg->Picture = Img1->Picture ; // 일케 해도 시간대 별로 메모리가 올라감
: :
: : gImg->Picture->Assign(Img1->Picture->Bitmap);
: : gImg->Picture->Bitmap = Img1->Picture->Bitmap;
: :
: : [테스트 2]
: : 1. 이미지를 리스트에 이미지를 가지고 있음(ImgList)
: :
: : ImgList->GetBitmap(0, gImg->Picture->Bitmap); // 일케해도 시간대별 메모리 올라감
|