返回列表 上一主題 發帖

[發問] 檢查重複性質的資料

回復 30# jackyliu
測試看看是否能正常執行?
謝謝妳!

TOP

本帖最後由 stillfish00 於 2013-7-26 12:11 編輯

回復 26# jackyliu
依你26#的圖

要逐步執行的話,把D(E)的監看式拿掉吧。

1.  當字典用不存在的Key取回物件時會自動新增該Key,這點在偵錯時看起來還是有效的....
      你可以自己試試中斷後在即時運算視窗打   ?d("不存在的Key")  ,就會自動在d底下新增一個item啦..
2.  然後當你要逐步執行時,因為有設d(E)的監看式,每一步都會取回 d(E),可是 E 一值都是存在的Key嗎???
     不是,當你程式執行到For Each E前一行或Next後一行,E都是 '無',於是它找不到這個Key又自動新增了,所以才造成字典內的Key(6)也為無。

比起來,偵錯時若只用區域變數視窗看d值(我原本也是這樣),怎樣都不會遇到妳說的問題。

TOP

回復 29# c_c_lai
28# 的程式碼 有時還是錯誤?要加上If E <> "" Then  來過濾嗎?
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 33# GBKEE
28# 的程式碼我這端測試是沒問題,
自從加上 If D.exists(E) = False Then 後,
我就抓不到怪異狀況。無論是原本的、
或者是28# 的程式碼。但 jackyliu 說依舊會偶發。
目前在等待 jackyliu 的測試結果。
她說那邊好像有待再次印證。

P.S. 我加上 If E <> "" Then 是完全濾掉空字串延生的問題。

TOP

回復 33# GBKEE

28#    程式code 可以了, 可能是我誤操作.... 造成大家困擾, 對不起大家~~
感謝大家 !

TOP

回復 35# jackyliu
誤操作....  請說明一下,好了解狀況
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 36# GBKEE


    28樓程式碼我是逐一執行,到圖mark黃色部分出現錯誤,
若一次執行完畢,是正常的;猜想是我用監看視窗的方式錯誤?

整個程式碼,我看不懂,不好意思,再麻煩大家......
只好自己認真逐一監看,程式的內容變化,
可能就像樓上(#32)說的 D(E),監看要拿掉,
可我真的不知道,要從哪裡才能弄懂這程式碼 ? ? ?
對不起大大,我還是附上一張,我監看出錯誤的畫面,
向大家交代清楚....

28樓.jpg (143.12 KB)

28樓程式碼

28樓.jpg

TOP

本帖最後由 c_c_lai 於 2013-7-27 07:10 編輯

回復 36# GBKEE
回復 32# stillfish00
回復 37# jackyliu
經仔細推敲 stillfish00 32# 的經驗建議,的確是問題發生的癥結所在,
茲將它稍稍整理,並回溫 Debug 的過程,確實如 stillfish00 所言,
在此順便也謝謝 stillfish00 的不吝指教。
  1. 如要逐步執行 (F8) 的話,請把 D(E) 的監看式拿掉吧。 亦即將監看式視窗內的運算式 D(E) 移除。
  2. 1.  當字典用不存在的 Key 取回物件時會自動新增該 Key,這點在偵錯時看起來還是有效的....
  3.     你可以自己試試中斷後在即時運算視窗打 ?D("不存在的Key"),就會自動在 D 底下新增一個 item ..
  4. 2.  然後當你要逐步執行時,因為監看式視窗有設 D(E) 的運算式,則每一步執行時都會取回 D(E),
  5.     可是 E 一直都是存在的 Key 值嗎 ???
  6.     答案當然不是,當你程式執行到 For Each E 前一行或 Next 後一行,此時 E 如果為 "無",
  7.     於是它找不到這個 Key 又自動新增了,所以才會造成字典內的 Key(#) 也為 "無" 的原因。
  8. 3.  偵錯時若只用 "區域變數視窗" 來監看 D 值 (我原本也是這樣),
  9.     怎樣都不會遇到此 "型態不符" 的問題。 ( 在 D(E) 值若為 "無" 時的情況下 )
複製代碼
謝謝大家的經驗傳承!

TOP

謝謝大大無私的分享!實用

TOP

是用進階篩選隱藏的嗎?
kuoliang

TOP

        靜思自在 : 一句溫暖的話,就像往別人身上灑香水,自己會沾到兩三滴。
返回列表 上一主題