請問各位影像元件的記憶體釋放 |
尚未結案
|
yslin
一般會員 發表:5 回覆:17 積分:4 註冊:2003-11-03 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
yslin
一般會員 發表:5 回覆:17 積分:4 註冊:2003-11-03 發送簡訊給我 |
不好意思,我有個例子如下:
void __fastcall TForm1::Button1Click(TObject *Sender) { if(OpenPictureDialog1->Execute()) { Image1->Picture->Bitmap->LoadFromFile(OpenPictureDialog1->FileName); } void __fastcall TForm1::Button2Click(TObject *Sender) { Image1->Picture->Bitmap=NULL; Image1->Picture->Bitmap->ReleaseHandle(); } }當我step over(F8) Button2Click那二行時,只有第一行的記憶體有稍降,第二行沒有作用。 我是run時,同時看Windows工作管理員那兒的PF使用量來看的。我是開一張20多MB的圖喔。 如有發言不當,請多多包含。 發表人 - yslin 於 2003/12/31 16:21:19 |
scott777
一般會員 發表:10 回覆:15 積分:5 註冊:2002-08-26 發送簡訊給我 |
// From online help
Graphics::TBitmap *Bitmap1 = new Graphics::TBitmap(); Graphics::TBitmap *Bitmap2 = new Graphics::TBitmap(); try { Bitmap1->LoadFromFile("C:\\Program Files\\Common Files\\Borland Shared\\Images\\Splash\\256color\\factory.bmp "); Bitmap2->Assign(Bitmap1); // Copy Bitmap1 into Bitmap2 Bitmap2->Dormant(); // Free up GDI resources Bitmap2->FreeImage(); // Free up Memory. Canvas->Draw(20,20,Bitmap2); // Note that previous calls don't lose the image Bitmap2->Monochrome = true; Canvas->Draw(80,80,Bitmap2); Bitmap2->ReleaseHandle(); // This will actually lose the bitmap; } catch (...) { MessageBeep(0); } delete Bitmap1; delete Bitmap2;發表人 - taishyang 於 2004/01/06 19:14:51 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |