我在用Report Generation 去寫入Table 時,只要有一個 Cell 中的文字大於一定的數量就會有一個奇怪的錯誤,我也到NI 去下載過UPDATE的檔案了,還是一樣,先問有其他先進朋友有遇到過同樣的問題嗎.
我的程式也是可以執行,但只要遇到一個Cell 內的字多到一定的量就會發生錯誤,ancle 您給的範例也會出現這樣的錯誤訊息.我試過了只要將哪個會發生錯誤的Cell 的字刪掉約50個就不會發生這種錯誤.請問有哪位先進知道這個問題的.

KENLIN38539.3901967593可以請 KENLIN 將會出錯的控制元值 設定為預設值傳上來,
並說明一下,大致會在哪個 VI 出現什麼錯誤情形嗎?
目前大概有看到幾個可能需要修正的地方。
其中除了 紅框 1 之外,其它都是小問題,不影響程式運作。
圖 1:

圖 1 說明:
紅框 1 :如果該迴圈的 N 值為 0 的話,會使 Report RefNum 傳送出空的
refnum 這會讓後面的處理 report 的 程式碼全部出錯。建議:將 Report RefNum 及 Error I/O 使用 Shift Register 來傳遞各個迴圈數
所處理的資料。紅框 2 :在 sequence 共有 4 個 frame ,建議將 Error I/O 傳遞下去,
可能是 用 Local Variable 或是 將 sequence 去除,直接將原程式碼
展開。這樣在 debug 會較易追蹤,且有效運用 Error I/O ,不漏掉任何
可能的 error。基本上,NI 的 VI 設計有個概念,就是一但前面程式碼,
有任何 error 後面的程式碼一律不執行。 (參考 註1)
圖 2:

圖 2 說明:
紅框 3:(同紅框 2)
註1:在 NI 的程式碼設計通常會有下面的形式,個人覺得是滿棒的方式。

在 前面程式碼 發現錯誤時,一律用 Case Structure 來將整段 程式碼 skip 掉,
如果沒錯誤出現時,則常照執行該段 程式碼。這樣做的用意是,當前面的 程式碼 出錯時,後面大半也會是錯的結果,
那麼沒有必要讓 錯誤的結果 再花去時間來執行之。而 debug 一般來說,也是要從 程式碼源頭 做起,常常是 源頭 的錯誤排解後,
後面的錯誤 常會跟著解決了。
原來我傳錯檔了,我有把他轉成常數,結果卻傳錯.
其是主要是出在這個VI上

我輸入的表格有被填入Excel 中,但只填到最多字的哪一格就會出現錯誤,只是刪除約50個字就一切OK了.不知道是不是這個VI或Excel 本身的限制.
剛剛追縱的結果,的確在這一個 VI 上出了問題。
我試著將該 array 擁有很多資料量的其中一筆,
用「Append Report Text.vi」寫到 excel 的任一個 cell
但是卻不會發生錯誤。
這一點滿讓人困惑的。