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

如何由一個應用程式監測另一個應用程式的記憶體的使用情形..?

答題得分者是:懷舊的人
m0210
一般會員


發表:31
回覆:29
積分:17
註冊:2002-08-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-03 06:13:58 IP:211.22.xxx.xxx 未訂閱
我想由另外一個應用程式來監測另一個專案的記憶體的釋放情形,有辦法這麼做嗎? 我想這麼做有兩個目地.. 目地(1):我因被Form的釋放搞的腦袋不是很清楚 什麼Free啦,什麼CaFree啦,什麼Release啦... 矇矇懂懂的,真不確定我的做法是否正確,一切都是聽來的 所以我想確定它 比方:有一個 Test的專案,內含MainForm,Form1,Form2,當我結束專案 時,我能由另一個應用程式得知 Test的MainForm,Form1,Form2等的記憶 體已經不在了嗎? 目地(2):想確保我的專案裡的記憶體是否完成釋放乾淨 我在專案動態的建立許多元件,擔心結束應用程式時, 會有些殘缺或未注意到的記憶體釋放問題,而影響了品質
懷舊的人
高階會員


發表:28
回覆:152
積分:141
註冊:2003-01-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-15 00:32:14 IP:218.187.xxx.xxx 未訂閱
如果你有心研究,我很贊成,但你一切都是聽來的,就煩惱這些記憶體釋放問題會影響你專案的品質,這就不必了,你應該先把手冊看熟,範例多看些,也沒聽說有那些人不寫記憶體管理,專案就無法進行,記憶體的管理就先交給系統去處理,頂多就利用工作管理員等觀察。等到你都弄清楚了專案相關的知識及技術後,有多餘的力氣才作更進一步的研究會好一些,因為通常這些都會用到如 API的呼叫等,對不起,並無看扁你的意思,只是因為相關的知識及技術太多了,如果不能掌握住一些基本的目標與方向,很容易迷失的,請多保重,祝你萬事如意。
m0210
一般會員


發表:31
回覆:29
積分:17
註冊:2002-08-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-02-17 00:10:31 IP:211.22.xxx.xxx 未訂閱
引言: 如果你有心研究,我很贊成,但你一切都是聽來的,就煩惱這些記憶體釋放問題會影響你專案的品質,這就不必了,你應該先把手冊看熟,範例多看些,也沒聽說有那些人不寫記憶體管理,專案就無法進行,記憶體的管理就先交給系統去處理,頂多就利用工作管理員等觀察。等到你都弄清楚了專案相關的知識及技術後,有多餘的力氣才作更進一步的研究會好一些,因為通常這些都會用到如 API的呼叫等,對不起,並無看扁你的意思,只是因為相關的知識及技術太多了,如果不能掌握住一些基本的目標與方向,很容易迷失的,請多保重,祝你萬事如意。
如果很事都是聽來的或眼睛看的..如無一套測試的方法,又如何掌握基本的? 我之前光發問Release與Free有什麼不同,竟然點閱率破百..或許因為大家也都是聽來的..而無方法求證,我相信大家對記憶體有沒釋放是相當重視的,而我要的是求證...^_^~
懷舊的人
高階會員


發表:28
回覆:152
積分:141
註冊:2003-01-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-02-17 01:29:34 IP:218.187.xxx.xxx 未訂閱
如果你認為是對的,那你就去作。 當你覺得Task Manager 仍然無法滿足這樣的需求,試看看產品發表區有人發表了一個產品 StatPlus0.0.8.zip 你可試試看。 再不然你就要參考一些系統書輯或 API 這一類的書,比較會提到這方面的知識,對你的工作可能稍有幫助。 有關記憶體的書上範例供你參考 // 記得要 uses ShellAPI procedure TFormPatternFirst.SystemInfo; var SL: TStringList; MemoryStatus: TMemoryStatus; begin MemoryStatus.dwLength := SizeOf(MemoryStatus); GlobalMemoryStatus(MemoryStatus); SL := TStringList.Create; try with MemoryStatus do begin SL.Add(''); SL.Add('Memory Status :'); // Per-Cent of Memory in use by your system SL.Add(IntToStr(dwMemoryLoad) '% memory in use'); // The amount of Total Physical memory allocated to your system. SL.Add(Format('S',[FormatFloat('#,##0',dwTotalPhys)]) ' Total Physical Memory in bytes'); // The amount available of physical memory in your system. SL.Add(Format('S',[FormatFloat('#,##0',dwAvailPhys)]) ' Available Physical Memory in bytes'); // The amount of Total Bytes allocated to your page file. SL.Add(Format('S',[FormatFloat('#,##0',dwTotalPageFile)]) ' Total Bytes of Paging File'); // The amount of available bytes in your page file. SL.Add(Format('S',[FormatFloat('#,##0',dwAvailPageFile)]) ' Available bytes in paging file'); // The amount of Total bytes allocated to this program // (generally 2 gigabytes of virtual space). SL.Add(Format('S',[FormatFloat('#,##0',dwTotalVirtual)]) ' User Bytes of Address space'); // The amount of avalable bytes that is left to your program to use. SL.Add(Format('S',[FormatFloat('#,##0',dwAvailVirtual)]) ' Available User bytes of address space'); end; finally if SL.Text <> '' then ShowMessage(SL.Text); SL.Free; end; end; 發表人 - 懷舊的人 於 2003/02/17 01:58:36
vmp
一般會員


發表:11
回覆:18
積分:5
註冊:2008-06-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-07-21 15:42:23 IP:220.130.xxx.xxx 訂閱
我嚐試過新開一個from 再把程式碼帶入後 uses ShellAPI
可是程式 顯示 找不到 TMSUnicodeD6
------
Delphi 6
postgresql 8.1.4

系統時間:2024-04-26 1:18:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!