請問何情況會造成access violation at 0x77....之錯誤訊息 |
尚未結案
|
shing.net
中階會員 發表:207 回覆:124 積分:66 註冊:2002-03-16 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 請問何情況會造成access violation at 0x77....之錯誤訊息不好意思, william 兄已經表達的很清楚了, 不過我用口語法方式向你說明一次 一般如果出現Access Violation... (不管後面是什麼), 80%問題出在你呼叫一個物件, 但這個物件未被定義或建立, 舉例來說 form2 是一個未被自動建立的Form 標準程序應該是 Form2:= TForm2.Create(self) Form2.Show; 但如果你少了Create這一行, 而直接 Form2.Show 就會出現Access錯誤 另外的情況是你使用一些數值運算不合法或超過範圍限定或型態轉換不當也會有這個問題 再來, 我遇到過的我的程式有掛其他介面(如影像擷取, 通訊, 攝影...), 而我的程式在跑了一段時間後, 突然去執行這些介面, 也會造成Access問題, 程式關閉再重起又OK, 這就是在Memory處理上可能有問題, 互衝等狀況, 不過這個情況所佔比例大概只有10% 我比較常用的除錯方式是, 如果每次都跑到這裡就當出Access, 那肯定是物件定義上出問題, 如果只是偶然發生, 則多半與Memory有關, 那就比較麻煩了, 或許是你程式對Memory處理不當, 或Memory leak, 記憶體被吃光, 甚至Memory Dimm老化都有可能, 我比較邪惡的處理方式就是告訴客戶win可能有問題, 或Memory Dimm有問題, 就是死不承認程式有問題就對了! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |