迴圈有一個安全機制,可以防止處理報表時因為無限迴圈而導致停止。任何公式的驗算,每次最多可以驗算迴圈條件 100,000 次。例如:
Local NumberVar i := 1; While i <= 200000 Do ( If i > {movie.STARS} Then Exit While; i := i + 1 ); 20
如果 {movie.STARS} 大於 100,000,那麼驗算迴圈條件 (i <= 200000) 的次數將會超過最大次數,就會產生錯誤訊息。否則的話,這個迴圈就沒有問題。
注意 這個安全機制僅限用於每個公式內,並不適用於個別迴圈。例如:
Local NumberVar i := 1; For i := 1 To 40000 Do ( Sin (i); ); While i <= 70000 Do ( i := i + 1; )
以上這個公式也會觸發安全機制,因為 100,000 是指公式中迴圈條件驗算的總次數,而這個公式將會驗算 40001 + 70001 次。