2010年8月31日 星期二

crystal report 載入報表錯誤 問題

15-0820測報
這是一個由crystal report的預設值所引起的問題
HKEY_LOCAL_MACHINE->SOFTWARE->Crystal Decisions->10.2->Report ApplicationServer->Server>PrintJobLimit中設定了crystal report在每各AP session中的同時存在數量。
當報表元件被引用後,AP中的PrintJobLimit counter就會+1
如果直接關閉元件或由呼叫者關閉,此counter將不會減少,當列印/產生多張報表時,就有可能碰到超出limit的問題而造成載入報表失敗錯誤。

由於PrintJobLimitapplication範圍計數器,因此開啟其他報表也會產生同樣問題(如下)
也就是說,此錯誤發生後,必須開啟另一程式或關閉重開同一程式才能再次列印報表

解決方法:對引用或呼叫含有crystal report元件的程式中使用以下指令
crystalReporter.close();
crystalReporter.dispose();

015測報
原始錯誤畫面

PrintJobLimit設定為2進行測試
修改前
列印兩次後,第三次就會發生錯誤

修改後
起始畫面
修改後
        多次開啟報表也不會有問題

沒有留言: