全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:947
推到 Plurk!
推到 Facebook!

如何釋放記憶體?

尚未結案
Leway
一般會員


發表:43
回覆:71
積分:22
註冊:2003-07-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-13 09:20:37 IP:218.80.xxx.xxx 未訂閱
 
ANIMATOR*        m_pAnimator;
ANIFRAME**       m_pAniframe;
CIMGFile***      m_pAnifrmImg; 
char*            m_pAnifrmImgFile;    if (m_ViewProperty.wWC_AnimatorQuantity>0)
     { 
     m_pAnimator = new ANIMATOR[m_ViewProperty.wWC_AnimatorQuantity];
     m_pAniframe = new ANIFRAME*[m_ViewProperty.wWC_AnimatorQuantity];
     m_pAnifrmImg = new CIMGFile**[m_ViewProperty.wWC_AnimatorQuantity];
     for (i=0; iGetImage();  
             }
         m_pAnimator[i].paniframe = m_pAniframe[i];
         }
     }    
如何將New的記憶體釋放? ========================= 語言是工具,最重要是如何解決問題。 發表人 - Leway 於 2004/01/13 17:00:18
agogo
一般會員


發表:2
回覆:4
積分:1
註冊:2004-01-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-13 12:25:56 IP:210.68.xxx.xxx 未訂閱
加在最後
 
for(i=0;i....)
 for(j=0;j....)
  delete m_pAnifrmImg[i][j];
 delete m_pAnifrmImg[i],m_pAniframe[i];    delete m_pAnimator,m_pAniframe,m_pAnifrmImg ;
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-13 13:17:04 IP:140.135.xxx.xxx 未訂閱
Leway您好: PO程式碼時請參考版規的說明,謝謝您的配合 < href="http://delphi.ktop.com.tw/topic.php?TOPIC_ID=43311">http://delphi.ktop.com.tw/topic.php?TOPIC_ID=43311 順心
Leway
一般會員


發表:43
回覆:71
積分:22
註冊:2003-07-29

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-13 17:02:47 IP:218.80.xxx.xxx 未訂閱
謝謝版主指點。我一直迷惑程式貼出後為何沒有縮排,閱讀不方便。今天終於知道了。謝謝。 ========================= 語言是工具,最重要是如何解決問題。
Leway
一般會員


發表:43
回覆:71
積分:22
註冊:2003-07-29

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-01-13 17:04:51 IP:218.80.xxx.xxx 未訂閱
agogo:您好 下面是我的方法,但是運行不正確。
if (m_ViewProperty.wWC_AnimatorQuantity > 0)
   {
   for (i=0; i< m_ViewProperty.wWC_AnimatorQuantity; i  )
       {
       for (j=0; j<(WORD)m_pAnimator[i].nFrame; j  )
           {
           delete m_pAnifrmImg[i][j];
           m_pAnifrmImg[i][j] = NULL;
           } 
       delete []m_pAniframe[i];
       m_pAniframe[i] = NULL;
       } 
   delete []m_pAnifrmImg;
   m_pAnifrmImg = NULL;
   delete []m_pAniframe;
   m_pAniframe = NULL;
   delete []m_pAnimator;
   m_pAnimator = NULL; 
   }   
========================= 語言是工具,最重要是如何解決問題。 發表人 - Leway 於 2004/01/13 17:07:05
agogo
一般會員


發表:2
回覆:4
積分:1
註冊:2004-01-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-01-13 18:49:33 IP:211.76.xxx.xxx 未訂閱
 
if (m_ViewProperty.wWC_AnimatorQuantity > 0)
   {
   for (i=0; i< m_ViewProperty.wWC_AnimatorQuantity; i  )
       {
       for (j=0; j<(WORD)m_pAnimator[i].nFrame; j  )
           {
           delete m_pAnifrmImg[i][j]; //這邊已經將記憶體釋出了所以應該不用加下面這行
           m_pAnifrmImg[i][j] = NULL; //試著將這行刪除看看 :)
           } 
       delete []m_pAniframe[i];
       m_pAniframe[i] = NULL; //試著將這行刪除看看 :)
       } 
   delete []m_pAnifrmImg;
   m_pAnifrmImg = NULL; //試著將這行刪除看看 :)
   delete []m_pAniframe;
   m_pAniframe = NULL; //試著將這行刪除看看 :)
   delete []m_pAnimator;
   m_pAnimator = NULL; //試著將這行刪除看看 :)
   }
axsoft
版主


發表:681
回覆:1056
積分:969
註冊:2002-03-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-01-13 23:39:40 IP:61.58.xxx.xxx 未訂閱
Leway您好:    建議您用TList來管理你的物件會比較方便些,也不易產生錯誤.. 請參考The right list for the right job這篇文章...
/*生活是一種藝術,用心生活才能享受生活*/
發表人 - axsoft 於 2004/01/13 23:40:54
Leway
一般會員


發表:43
回覆:71
積分:22
註冊:2003-07-29

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-01-14 08:18:03 IP:218.80.xxx.xxx 未訂閱
agogo 您好: 我試過,但是還是有問題。 axsoft您好: 你介紹的文章無法開啟。 ========================= 語言是工具,最重要是如何解決問題。
agogo
一般會員


發表:2
回覆:4
積分:1
註冊:2004-01-08

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-01-14 09:46:58 IP:210.243.xxx.xxx 未訂閱
if (m_ViewProperty.wWC_AnimatorQuantity > 0)
   {
   for (i=0; i< m_ViewProperty.wWC_AnimatorQuantity; i  )
       {
       for (j=0; j<(WORD)m_pAnimator[i].nFrame; j  )
           {
           delete m_pAnifrmImg[i][j];
           } 
       delete []m_pAniframe[i];//改成delete m_pAniframe[i];
       } 
   delete []m_pAnifrmImg;//改成delete m_pAnifrmImg;
   delete []m_pAniframe;//改成delete m_pAniframe;
   delete []m_pAnimator;//改成delete m_pAnimator;
   }   
如果還不行的話,我也不知道了,因為我都是將寫的~:)
Leway
一般會員


發表:43
回覆:71
積分:22
註冊:2003-07-29

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-01-16 16:19:03 IP:218.80.xxx.xxx 未訂閱
謝謝! ========================= 語言是工具,最重要是如何解決問題。
xufs
一般會員


發表:16
回覆:26
積分:8
註冊:2003-04-23

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-01-19 12:36:37 IP:202.109.xxx.xxx 未訂閱
CIMGFile***      m_pAnifrmImg;     if (m_ViewProperty.wWC_AnimatorQuantity>0)      {       .....      m_pAnifrmImg = new CIMGFile**[m_ViewProperty.wWC_AnimatorQuantity];      for (i=0; i
xufs
一般會員


發表:16
回覆:26
積分:8
註冊:2003-04-23

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-01-19 12:42:11 IP:202.109.xxx.xxx 未訂閱
您给m_pAnifrmImg动态分配内存有问题,应该是: m_pAnifrmImg = new CIMGFile**[m_ViewProperty.wWC_AnimatorQuantity]; .... m_pAnifrmImg[...]=new CIMGFile*[...]; //缺该分配!? .... m_pAnifrmImg[i][j]=new CIMGFil[m_pAnifrmImgFile]; .... 释放内存: for(int i; ...) { for(int j; ...) delete[] m_pAnifrmImg[i][j]; delete[] m_pAnifrmImg[i]; } delete[] m_pAnifrmImg; xufs@hqu.edu.cn
kj68215
初階會員


發表:47
回覆:91
積分:27
註冊:2003-08-09

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-01-27 02:38:49 IP:61.231.xxx.xxx 未訂閱
引言: axsoft您好: 你介紹的文章無法開啟。
可以讀取唷! http://www.bridgespublishing.com/articles/issues/9712/The_right_list_for_the_right_job.htm ----------------------- 請多多指教啦!!^^
------
-----------------------
請多多指教啦!!^^
系統時間:2024-05-04 14:26:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!