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的問題而造成載入報表失敗錯誤。

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

解決方法:對引用或呼叫含有crystal report元件的程式中使用以下指令
crystalReporter.close();
crystalReporter.dispose();
015測報
原始錯誤畫面

將PrintJobLimit設定為2進行測試
修改前

列印兩次後,第三次就會發生錯誤

修改後
起始畫面

修改後
多次開啟報表也不會有問題

沒有留言:
張貼留言