Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Устранение ошибки Свойство PreviewLeft не существует в QuickReport 5 при генерации отчетов на новых машинах

Delphi , Компоненты и Классы , TQuickReport

Устранение ошибки "Свойство PreviewLeft не существует" в QuickReport 5 при генерации отчетов на новых машинах

При работе с QuickReport 5 для генерации отчетов в программе, которая ранее компилировалась только на одном конкретном ПК, пользователь столкнулся с проблемой при попытке разработки на других машинах. После установки той же версии QuickReport (5.0.2) на новых машинах, программа не работала, выдавая ошибку: "Свойство PreviewLeft не существует". Ошибка возникала при открытии формы с QuickReport и останавливалась в методе TCustomQuickRep.Create или TCustomQuickRep.SetBandValues.

Причиной проблемы, скорее всего, является несовместимость версии QuickReport на новых машинах с описанием компонента в DFM, созданным с помощью более новой версии. В этом случае новое свойство PreviewLeft присутствует в версии компонента, используемой при разработке, но отсутствует в более старой версии, установленной на новых машинах.

Для устранения этой проблемы пользователь может:

  1. Убедиться, что на всех машинах установлена одинаковая версия QuickReport.
  2. Если свойство PreviewLeft не является критичным для работы отчета, его можно безопасно удалить из DFM, чтобы избежать ошибки. Для этого можно использовать инструмент, такой как DFMcleaner из пакета JVCL.
  3. Если свойство необходимо, но проблема сохраняется, пользователь может связаться с разработчиком QuickReport для получения дополнительной информации о версии, в которой было введено это свойство, и о том, как его правильно использовать.

Пример кода на Object Pascal (Delphi) для удаления свойства из DFM с помощью DFMcleaner:

uses
  JvComponentEditor, JvComponentEditorUtils, JvComponentEditorForms;

procedure RemovePreviewLeftProperty(Component: TComponent);
begin
  if Component is TQuickRep then
    Component.Components[0].RemoveProperty('PreviewLeft');
end;

procedure FixQuickRepForms;
var
  Form: TForm;
begin
  for Form in Application.Forms do
    if Form is TForm then
      TComponentEditorUtils.FixComponent(Form, RemovePreviewLeftProperty);
end;

FixQuickRepForms;

Этот код ищет все формы в приложении, которые содержат QuickReport, и удаляет свойство PreviewLeft из компонента QuickReport на этих формах. После этого ошибка "Свойство PreviewLeft не существует" больше не должна возникать при открытии форм с отчетами на новых машинах.

Создано по материалам из источника по ссылке.

'Устранение ошибки 'Свойство PreviewLeft не существует' в QuickReport 5 при генерации отчетов на новых машинах'.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: TQuickReport ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-28 05:07:57/0.003262996673584/0