34________________________________________________Глава 1

После начала реального выполнения приложения эта заставка исчезает с экрана и
никогда больше не появляется в данном сеансе работы. Было бы варварством не
уничтожить этот объект и не освободить занимаемую им память для более продук-
тивного использования.

С целью организации динамического распределения памяти во все объекты за-
ложены методы их создания — конструкторы и уничтожения — деструкторы..
Конструкторы объектов, которые изначально должны присутствовать в приложе-
нии (прикладной программе), срабатывают при запуске программы. Деструкторы
всех объектов, имеющихся в данный момент в приложении, срабатывают при за-
вершении его работы. Но нередко и в процессе выполнения различные новые объек-
ты (например, новые окна документов) динамически создаются и уничтожаются с
помощью их конструкторов и деструкторов.

Включать объекты в свою программу можно двумя способами: вручную вклю-
чать в нее соответствующие операторы (это приходится делать не очень часто) или
путем визуального программирования, используя заготовки — компоненты.

1.3 Основы визуального программирования
интерфейса

Сколько существует программирование, столько существуют в нем и тупики,
в которые оно постоянно попадает и из которых в конце концов доблестно выхо-
дит. Один из таких тупиков или кризисов не так давно был связан с разработкой
графического интерфейса пользователя. Программирование вручную всяких при-
вычных пользователю окон, кнопок, меню, обработка событий мыши и клавиату-
ры, включение в программы изображений и звука требовало все больше и больше
времени программиста. В ряде случаев весь этот сервис начинал занимать до
80-90% объема программных кодов. Причем весь этот труд нередко пропадал поч-
ти впустую, поскольку через год — другой менялся общепринятый стиль графиче-
ского интерфейса и все приходилось начинать заново.

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

Вторым революционным шагом, кардинально облегчившим жизнь програм-
мистов, явилось появление визуального программирования, возникшего в Visual
Basic и нашедшего блестящее воплощение в системах Delphi и C++Builder фирмы
Borland.

Визуальное программирование позволило свести проектирование пользовате-
льского интерфейса к простым и наглядным процедурам, которые дают возмож-
ность за минуты или часы сделать то, на что ранее уходили месяцы работы. В со-
временном виде в C++Builder это выглядит так.

Вы работаете в Интегрированной Среде Разработки (ИСР или Integrated deve-
lopment environment — IDE) C++Builder. Среда предоставляет вам формы (в при-