Возможности интеграции
Как видно из содержания предыдущих глав, Crystal Reports 9 является мощным и удобным генератором отчетов, a Crystal Enterprise предоставляет средства доставки отчетов пользователям. Однако очень часто возникает необходимость доставлять отчеты конечным пользователям не с помощью Web-технологий, а интегрировать имеющийся набор отчетов в приложения. Учитывая эту необходимость, компания Crystal Decisions (Seagate Software) предлагает несколько механизмов, позволяющих вызывать созданные с помощью Crystal Reports 9 отчеты из приложений, устанавливаемых у пользователей. В зависимости от квалификации разработчиков и времени, отведенного на разработку, можно выбирать из следующих возможностей:
£ Crystal Report Engine API – наиболее развитый, но и наиболее трудоемкий механизм;
£ Crystal Report ActiveX Control – самый простой и быстрый способ интеграции отчетов, но поддерживается не вся функциональность, доступная в Crystal Report Engine API;
£ Crystal Report Component для Delphi – компонент, созданный на основе функций Crystal Reports API, поддерживаются различные версии Delphi;
£ Crystal Report RDC (Report Designer Component) – компонент, позволяющий не только выполнять интеграцию существующих отчетов, но и создавать новые отчеты в момент работы приложения, требует дополнительного лицензирования.
Каждый из представленных механизмов обладает своими достоинствами и недостатками. Поэтому для того чтобы иметь возможность сравнить предлагаемые способы, рассмотрим несколько примеров интеграции отчетов в приложения. В качестве средств разработки будем использовать Borland Delphi 6.0 и Microsoft Visual Basic 6.0, а в качестве механизмов интеграции рассмотрим Crystal Report API, Crystal Report ActiveX Control и Crystal Report Component.
Примечание
Описание возможности интеграции отчетов Crystal Reports 9 в приложения можно найти в разделе документации Crystal Developers Help, поставляемой совместно с Crystal Reports 9. И хотя все примеры в документации и в этой книге ориентированы на использование Visual Basic и Delphi, можно также воспользоваться любыми средствами разработки, которые допускают использование API либо ActiveX.