Crystal Reports 8 - 錯誤 533 PESStartPrintJob

Crystal Reports 8 - 錯誤 533 PESStartPrintJob

我工作的公司有一個使用 Delphi V 和 Crystal Reports 8 建立的應用程式。

我們都知道 Crystal & Delphi 有時會脾氣暴躁,最糟糕的是,幾乎沒有錯誤的詳細資訊。網路上也非常缺乏這方面的文檔。有很多人有類似的問題,但沒有解決方案。

我特別談論的錯誤是下圖的錯誤。當嘗試在螢幕上列印任何水晶報表時會發生這種情況。

錯誤533

這種情況有時會在客戶端電腦上發生,我們很難在我們的環境中複製。由於它是 Crystal 的舊版本,因此很難找到任何有用的文件來了解問題的確切根源。

答案1

註冊表中的問題可能是由 BDE 的雙重安裝引起的。發生這種情況的原因有很多:

  • 重新安裝了應用程式或borland,之前沒有卸載它
  • 卸載未完全完成
  • 使用 BDE 安裝了第二個應用程式

為了驗證這一點,我進入註冊表並發現以下內容:

[HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine]「DLLPath」=「C:\\Program Files\\Common Files\\Borland Shared\\BDE」的形式為path1、path2。

現在為了解決這個問題,您需要執行以下操作:

  • 備份 BDE 金鑰,以防出現問題。
  • 關閉您的應用程式。
  • 開啟Regedit(開始>執行>regedit.exe)
  • 前往 HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine
  • 然後雙擊關鍵的 DLLPath 編輯和 2 個路徑中的 1 個(根據您的安裝檢查哪一個是正確的)。您應該有兩條路徑,如下圖所示。刪除其中之一

有兩個路徑的註冊表

這應該只有一條路徑,如下圖所示。

具有一個路徑的註冊表

關閉登錄編輯

現在您可以重新打開應用程式並嘗試打開螢幕上的任何報告。如果您正確執行了簡單的步驟,則不應出現任何錯誤,並且您應該能夠在螢幕上看到報告。

這種情況尤其發生在我的應用程式中,但使用 Crystal Reports 和 BDE Admin 的應用程式需要遵循相同的過程。

答案2

每次我在 Crystal 8.5 中遇到此類錯誤時,都與 Crystal 部署 DLL 的混合版本或缺少它們有關。就我而言,我們的一些客戶仍在使用 Crystal 6.0。

無聊的部分是找到所有 DLL 並將其刪除。通常,它們位於 x86 系統上的 %systemroot%\system32 上,以及 x64 系統上的 %systemroot%\syswow64 上。

其他需要注意的事項:

  • 設定一個起點,我的意思是,在這裡我們始終確保它在乾淨的機器上運作。
  • 同一台機器上的多個版本的水晶報表簡單地不起作用,就這樣。無論您是在談論開發環境還是部署環境。
  • 我一般將所有 Crystal 8.5 部署 DLL 放在 %systemroot%\crystal 下,並將其放在系統 PATH 中。這解決了我 95% 最常見的部署相關問題。

我知道回答有點晚了,但它可以幫助其他人。

相關內容