Board logo

標題: 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/)