Предварительный просмотр автономного отчета через RDC / ActiveX Crystal Reports XI - PullRequest
2 голосов
/ 17 октября 2008

Я портирую приложение из Crystal Reports 8 в Crystal Reports XI в Delphi 5, используя интерфейс RDC / ActiveX.

В Crystal Reports 8 я смог вызвать окно просмотра отчетов Crystal Reports по умолчанию для отчета, например так:

RptInvoicing.Destination := 0; // To: window
RptInvoicing.Action := 1; // Execute

Однако это не относится к CR XI. Печать и экспорт я понял, что работать так:

crReport.PrintOut(True);
...
crReport.Export(True);

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

Даже официальные форумы поддержки не помогли, у меня был только неприятный ответ, чтобы просмотреть руководства, которые я просматривал несколько раз и могу назвать только плохими. Не каждый день вы видите такую ​​плохую документацию для корпоративного продукта. Я не нашел ничего относящегося к этому в их руководствах, поэтому я склонен думать, что их собственные сотрудники тоже не знают об этом.

Так что я надеюсь, что кто-то здесь может сказать мне, если средство просмотра отчетов по умолчанию все еще существует в CR XI, и если это так, как его вызвать? Если нет, то действительно ли использование компонента дизайнера отчетов является единственным решением для его создания?

Ответы [ 3 ]

2 голосов
/ 19 декабря 2008

У меня недавно была та же проблема, и описал решение здесь . Я использую Delphi 2007, но так как код включает в себя вызовы внешней библиотеки ActiveX DLL, он также должен работать для вас.

1 голос
/ 02 декабря 2008

Из их документации:

Craxddrt.dll (Crystal Reports ActiveX Дизайнерский дизайн и библиотека времени выполнения) это единая объектная модель, которая сочетает в себе возможности времени выполнения Craxdrt.dll (Crystal Reports Библиотека времени выполнения ActiveX Designer) с возможностями времени проектирования Craxddt.dll (Crystal Reports ActiveX Designer Design Time). Craxddrt.dll заменит Craxddt.dll для версий 8.5 и выше. Оба Craxddrt.dll и Craxdrt.dll содержать все объекты и связанные необходимые методы, свойства и события для создания, открытия, экспорта, сохранение и печать отчета при запуске время. Кроме того, Craxddrt.dll является либо используется с RDC ActiveX Дизайнер при разработке отчетов на время разработки, или используется с Встраиваемый конструктор при проектировании отчеты во время выполнения. Смотрите «Встраиваемый Элемент управления Crystal Reports Designer Объектная модель »на странице 343 для более Информация.

Примечание: RDC ActiveX Конструктор доступен только в Microsoft Visual Basic .

До версии 8.5, Craxdrt.dll будет распространяется с приложением. Сейчас у разработчика есть выбор из двух серверы автоматизации для распространения. Craxdrt.dll обратно совместим с предыдущими версиями и содержит все функции, представленные в этом версия. Используйте Craxdrt.dll для любого клиентское приложение, которое не содержать встраиваемый конструктор или использовать его для любой серверной стороны приложение. Craxddrt.dll является модель квартиры с резьбой, но не потокобезопасен, и может быть использован только в клиентское приложение. Хотя Craxddrt.dll является полностью функциональным сервер автоматизации для RDC, и может работать в любом клиентском приложении, это увеличит размер установки. Поэтому рекомендуется, чтобы вы Используйте только Craxddrt.dll с Встраиваемый дизайнер отчетов Crystal Контроль.

0 голосов
/ 01 ноября 2008

Я ничего не могу сказать о Delphi, но в VB мы используем CRViewer ActiveX Control. Использовать его просто - вы помещаете элемент управления просмотра в форму и назначаете ему объект RDC. Это покрыто CR помощь где-то. (Я не могу посмотреть на код банкомата, чтобы привести рабочие примеры.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...