Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Создаем DLL




Предварительный просмотр отчетов

В некоторых случаях требуется предварительный просмотр отчетов на этапе выполнения. Для этой цели используется метод Preview() компонента TQuickReport. При его выполнении на экране появится стандартная форма просмотра, изображенная на рис. 8.

Если внешний вид стандартной формы просмотра по какой-либо причине вас не устраивает, можно создать свою форму предварительного просмотра с помощью компонента QRPreview. Этот компонент обладает свойствами PageNumber и Zoom, которые можно использовать для просмотра произвольной страницы отчета в произвольном масштабе.

Для создания собственного окна предварительного просмотра следует на вновь созданной форме разместить компонент QRPreview и набор элементов управления (например, кнопок) для перемещения между страницами, изменения масштаба, печати и др. Далее следует написать код, аналогичный приведенному ниже примеру:

void __fastcall TForm1::ShowPreview()
{
Form2->ShowModal();
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
QRPrinter->OnPreview=ShowPreview;
Form4->QuickReport1->Preview();
Form2->ShowModal();
}

Кроме того, нужно внести прототип функции ShowPreview() в соответствующий h-файл:

__published: // IDE-managed Components
TButton *Button1;
void __fastcall Button1Click(TObject *Sender);
void __fastcall ShowPreview(void);

Приведенный пример кода показывает, как связать созданную форму с компонентом QuickReport. Эта связь достигается написанием обработчика события QRPrinter->OnPreview. Это событие не имеет прямого отношения к компоненту QuickReport, иначе нужно было бы связывать все созданные отчеты с окном просмотра. Использование события объекта QRPrinter обычно означает написание общего для всех отчетов обработчика события, после чего окно просмотра можно использовать для всех имеющихся в приложении отчетов.

Более подробно о компонентах, используемых для создания отчетов, можно прочесть в книге "Введение в Borland C++ Builder" Н.Елмановой и С.Кошеля, вышедшей в июле этого года в издательстве "Диалог-МИФИ".

 

  • Статическая загрузка
  • Динамическая загрузка

Сейчас мы рассмотрим для чего нужны DLL (Dynamic Link Library - динамически компануемая библиотека) и как их создавать. DLL- это участок кода хранимый в файле с расширением.dll. Код может быть использован другими программами, но сама посебе библиотека прораммой не является. Вобщем-то, динамически компонуемые библиотеки представляют собой набао скомпилированныых функций. Но у ютих библиотек есть свой особенности, так например, если каккието две или более программы для Windows одновременно исполняются и используют функции, находящиеся в одной DLL, то в памяти будет постоянно находится только одна библиотека, обеспечивая тем самым экономное расходование памяти. Загрузка библиотеки в память может быть статической и динамической.

При статической загрузке DLL автоматически загружается при запуске исользующего ее приложения. Такая DLL содержит экспортируемые функции, описание которых находится в файле библиотеки импорта(import library file -.lib). Для использования статической загрузки вы должны на этапе компоновки к программе додключить.lib файл вашей DLL. В C++ Builder это сводится к включения в проект.lib файла через менджер проектов.

При диамической загрузке вы можете загружать DLL при необходимости, выгрузить ее когода она ненужна. Однако работать с такими библиотеками сложнее чем со статическими. Рассмотрим созздание и использование DLL статической загрузки.




Поделиться с друзьями:


Дата добавления: 2015-05-29; Просмотров: 265; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.