標題:
overflow溢位之記憶體問題
[打印本頁]
作者:
m09903020
時間:
2012-7-14 07:13
標題:
overflow溢位之記憶體問題
大家早,最近小的發現程式有溢位,檢查了一個晚上試試看每個變數"大概錯哪"都還是找不到
不知道這有沒有可能是
程式碼打錯 ex.陣列大小?sheet範圍?
請問一下
1.
各位大大會不會在coding時用VBA寫destructor 回收物件的記憶體空間? ^^
我依稀記得有個指令"nothing"似乎跟回收物件有關 但F1寫要全部物件回收 記憶體空間才會釋放?
2.
請問各位大大如何抓溢位的問題呢?或者有更好的建議方法
小的只有區區5百多行code就眼花了@@a
看來自己寫的都看不快也找不出bug 真的要好好加強一下coding style ^^"
謝謝各位願意看完這篇文章^ ^
作者:
kimbal
時間:
2012-7-15 09:06
本帖最後由 kimbal 於 2012-7-15 09:11 編輯
溢位 不一定代表記憶體不足, 而大部份時候是在說變量定義有問題.
VBA常見的是 integer, 由於integer最大是32767,
如果用在行數上(row) 就不能對應 32767行以上的東西,
例如下圖, 要轉用long
dim a as long
[attach]11683[/attach]
解決方法是用偵錯模式, 運行一下程序
有問題的話, vbe會顯示錯誤的是那一行 (按上圖偵錯), 然後看看變量有沒有問題.
其實無論代碼出什麼問題, 先用偵錯模式來找出錯在那,這才是王道
作者:
m09903020
時間:
2012-7-15 20:05
謝謝 kimbal 我今天有照著操作
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)