Crystal Reports 8 - Ошибка 533 PESStartPrintJob

Crystal Reports 8 - Ошибка 533 PESStartPrintJob

В компании, где я работаю, есть приложение, созданное в Delphi V с использованием Crystal Reports 8.

Мы все знаем, что Crystal & Delphi иногда бывают капризными, и самое худшее, что почти нет подробностей об ошибке. Также в сети очень мало документации по этому поводу. У многих людей похожая проблема, но нет решения.

Ошибка, о которой я говорю, в частности, показана на изображении ниже. Она возникает при попытке распечатать любой отчет Crystal Reports на экране.

Ошибка 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, редактируя один из двух путей (проверьте, какой из них правильный в соответствии с вашей установкой). У вас должно быть два пути, как на изображении ниже. Удалите один из них

Реестр с двумя путями

Здесь должен быть только один путь, как на изображении ниже.

Реестр с одним путем

Закрыть RegEdit

Теперь вы можете снова открыть свое приложение и попробовать открыть любой отчет на экране. Если вы правильно выполнили простые шаги, вы не должны получить никаких ошибок и сможете увидеть отчеты на экране.

Это произошло, в частности, в моем приложении, но тот же процесс необходимо выполнить в приложениях, использующих Crystal Reports и BDE Admin.

решение2

Каждый раз, когда у меня возникала такая ошибка с Crystal 8.5, это было связано со смешанными версиями DLL-библиотек развертывания Crystal или их отсутствием. В моем случае с Crystal 6.0, который некоторые из наших клиентов все еще используют.

Самая скучная часть — найти все DLL и удалить их. Обычно они находятся на %systemroot%\system32 на x86 и на %systemroot%\syswow64 на x64 системах.

Что еще следует знать:

  • Установите отправную точку, то есть здесь мы всегда проверяем, работает ли все на чистой машине.
  • Несколько версий Crystal Reports на одной машине просто не работают, точка. Неважно, говорите ли вы о среде разработки или развертывания.
  • Я обычно помещаю все DLL-файлы развертывания Crystal 8.5 в %systemroot%\crystal и добавляю их в системный PATH. Это решило для меня 95% наиболее распространенных проблем, связанных с развертыванием.

Я понимаю, что уже поздно отвечать, но это может помочь другим.

Связанный контент