Использование стандартных системных переменных IsLibrary и CmdLine
В Delphi существует стандартный модуль System, неявно подключаемый к каждой программе или библиотеке. В этом модуле содержатся предопределенные системные подпрограммы и переменные. Среди них имеется переменная IsLibrary с типом Boolean, значение которой равно True для кода вызываемого из библиотеки и False в случае выполнения процедуры или функции из вызывающего приложения. Проверив значение переменной IsLibrary, подпрограмма может определить, является ли она частью библиотеки.
В модуле System объявлена также переменная CmdLine: PChar, содержащая командную строку, которой была запущена программа. Библиотеки не могут запускаться самостоятельно, поэтому для них переменная CmdLine всегда содержит значение nil.
Контрольные вопросы
1. В чем особенность динамически загружаемых библиотек?
2. Для чего могут применяться динамические библиотеки?
3. Какие типы динамических библиотек существуют?
4. С какого ключевого слова начинается модуль библиотеки? Какие разделы могут быть в модуле библиотеки?Назначение основных разделов.
5. Каким образом осуществляется экспорт подпрограмм из библиотеки?
6. Соглашения о вызове подпрограмм: директивы Delphi определяющие используемые правила вызова подпрограмм; понятие стека, принцип его работы, очередность работы с элементами LIFO и FIFO, использование стека программами во время работы.
7. Что выполняется при импорте подпрограммы?
8. Какие виды импорта библиотек существуют?
9. Каким образом можно осуществить статический импорт?
10. Каким образом осуществляется динамический импорт? Какие функции используются для динамического импорта?Преимущества использования динамической загрузки.
11. Какие существуют особенности использования глобальных переменных и констант в библиотеке?
12. Какие существуют способы инициализации и завершения библиотеки?
13. Каким образом можно произвести обработку исключительных ситуации и ошибок выполнения подпрограмм?
14. Для чего используются стандартные системные переменные IsLibrary и CmdLine?
Лекция 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) создание справки для компонента.
Дата добавления: 2015-09-07; просмотров: 1198;