Использование стандартных системных переменных IsLibrary и CmdLine
В Delphi существует стандартный модуль System, неявно подключаемый к каждой программе или библиотеке. В этом модуле содержатся предопределенные системные подпрограммы и переменные. Среди них имеется переменная IsLibrary с типом Boolean, значение которой равно True для кода вызываемого из библиотеки и False в случае выполнения процедуры или функции из вызывающего приложения. Проверив значение переменной IsLibrary, подпрограмма может определить, является ли она частью библиотеки.
В модуле System объявлена также переменная CmdLine: PChar, содержащая командную строку, которой была запущена программа. Библиотеки не могут запускаться самостоятельно, поэтому для них переменная CmdLine всегда содержит значение nil.
Лекция 15
ТЕМА: Разработка собственных компонентов.
Литература: 1. Создание собственных компонент: http://citforum.ru/programming/32less/index.shtml
2. Тейксейра Стив, Пачеко Ксавье. Borland Delphi 6. Руководство разработчика. : Пер. с англ. — М. : Издательский дом “Вильямс”, 2002.
3. Учебник по Delphi. Главы 7, 8. / wm-help.net - Электронная библиотека: http://wm-help.net/books-online/book/56472/56472-93.html
Delphi является открытой средой и позволяет не только использовать объекты из Библиотеки Визуальных Компонент (VCL) в своей программе, но и создавать новые объекты. Причем, ничего другого, кроме Delphi, для этого не требуется. Создание нового объекта в Delphi не является очень сложной задачей, хотя для этого и требуется знание Windows API, объектно-ориентированного программирования и иерархии классов в VCL.
Может возникнуть вопрос: если в Delphi уже есть своя библиотека, то зачем еще создавать какие-то объекты? Для разработки нового компонента существует несколько важных причин:
· Если необходимо разработать новый элемент пользовательского интерфейса и в дальнейшем применять его в разных приложениях.
· Упрощение кода приложения, путем введения новых.
· Если среди существующих компонентов Delphi и элементов ActiveX нет такого, который полностью удовлетворял бы всем требованиям.
· Если существуют потенциальные пользователи создаваемого компонента и его можно распространить среди других программистов либо за деньги, либо ради собственного удовольствия.
· Если хочется глубже разобраться в Delphi, библиотеке VCL и функциях интерфейса API Win32.
Новые компоненты, во-первых, позволяют расширить область применения Delphi: например, с помощью библиотек объектов третьих фирм разрабатывать приложения для работы в Internet. Во-вторых, позволяют дополнить или настроить для себя имеющиеся в VCL объекты (например, переопределить значения свойств, устанавливаемые по умолчанию).
Примечание. Посмотреть исходный код библиотеки VCL можно в двух версиях Delphi: в Professional и Enterprise.
Основные шаги при создании нового компонента:
1) определить, какие действия должен выполнять компонент;
2) разработать краткий алгоритм, по которому будет работать компонент;
3) разбить всю конструкцию компонента на независимые части;
4) предоставьте возможность дальнейшей разработки компонента (возможно, в будущем вы захотите создать на его основе компонент-потомок);
5) написать код компонента (этот пункт разбивается на такие этапы):
a) выбор предка для компонента;
b) создание заготовки (модуля) компонента;
c) создание свойств, событий и методов компонента;
d) отладка и тестирование;
6) регистрация компонента в среде Delphi;
7) создание справки для компонента.