С++ Builder 4.0
Новая версия - новые возможности
Мирончик Игорь

Корпорация Inprise объявляет о выходе очередной версии легендарного продукта C++ Builder версии 4.

Действительно, язык программирования C++ царит в компьютерном мире. Есть масса причин для изучения этого языка – это продвижение по служебной лестнице, получение высокооплачиваемой работы. С другой стороны, изучение C++ может превратиться в настоящую каторгу, так как на самом деле это язык с множеством закавык и мудреных правил. Обилие инструментов для разработки программ на языке C++ с первого взгляда могут перепугать начинающего разработчика. Однако новая версия C++ Builder абсолютно дружелюбна к своим пользователям и теперь полностью направлена как на начинающего программиста, так и на повидавшего виды крутого разработчика приложений на C++. И так, начнем по порядку.
Средства быстрой разработки приложений RAD (Rapid Application Development) заняли прочное место в среде разработчиков программных продуктов. Те, кто освоили такое средство разработки, как Inprise Delphi4 давно поняли, что сроки разработки приложений теперь резко сокращаются. Это же самое можно сказать и о новой версии C++ Builder версии 4. Этот продукт, как и его родной брат – Delphi 4, устанавливает новые стандарты для среды разработки приложений. Визуальные средства разработки позволяют в десятки раз повысить скорость разработки интерфейса пользователя. Различные Wizards обеспечивают стандартные приемы общения между конечным пользователем и программой. Методы Code Insight позволяют разработчику не сосредотачивать внимания на синтаксисе языка, а отдаться полностью написанию бизнес логики приложения. Визуальная разработка распределенных систем на основе стандарта CORBA теперь становится такой же простой, как и создание различных форм приложения. Так же, как это было со всеми предыдущими версиями, новый продукт самым серьезным образом отличается от своих предшественников. Если "изюминкой" С++ Builder 3 была полнофункциональная поддержка ActiveX- и COM/DCOM технологий (MIDAS в том числе), то C++ Builder 4 в первую очередь - это CORBA, взаимодействие с Java и мощная поддержка Oracle 8.
C++ Builder версии 4 предусматривает новый интерфейс управления - так называемый Docking Windows; более того, предлагается его улучшение - Tabbed Docking Windows, что позволяет сгруппировать несколько окон (кода, форм, отладчика) в одно окно специального вида. Если же еще установить систему IntelliMouse, то удобство доступа к элементам разрабатываемого проекта произведет впечатление на самого капризного и придирчивого разработчика.

Среда разработки IDE

Если посмотреть на среду разработки C++ Builder 4, то можно сразу понять, что она в корне отличается от предыдущих версий

Как видно из рисунка, программист теперь должен визуально указать все модификаторы метода, после чего будет автоматически сгенерирован исходный код для метода класса. Аналогичным образом создаются свойства и переменные класса, однако никто не запрещает продвинутым программистам использовать «рукопашные» способы формирования членов класса, ну и тут вездесущий браузер будет фиксировать все Ваши изменения.

Полная реализация поддержки среды WINDOWS

1. Докинг. Поскольку приложения имеют тенденцию к усложнению интерфейса, возникает необходимость в настройке последнего самим пользователем. В этом и помогают разработчику свойства класса TWinControl::DockSite и TControl::DragKind. Установив их соответсвующим образом можно получить приложение, полностью поддерживающее последние требования GUI интерфейса. Так например, можно на компоненту TpageControl «набросать» все вновь открываемые окна. По желанию пользователя любая закладка TpageControl может быть обратно представлена обычным окном, достаточно извлечь ее за заголовок из компоненты TpageControl.

2. Специально разработан набор компонент, поддерживающий стандарты Windows 98

3. Службы Windows NT. Специальные Wizards позволяют создавать приложения, работающие в фоновом режиме и автоматически стартующие вместе с операционной системой.

4. На странице Standard палитры компонентов C++ Builder 4 появился новый компонент TActionList. Этот компонент предназначен для упорядочения обработчиков событий различных интерфейсных элементов (меню, инструментальных панелей, кнопок и др.). Нередко при использовании широкого спектра интерфейсных элементов и изменения их поведения на этапе выполнения (например, изменения доступности некоторых элементов меню) отслеживание связей интерфейсных элементов и имеющихся в приложении процедур становится затруднительным. Теперь можно имеющиеся в приложении процедуры сделать обработчиками событий компонентов TAction, коллекция которых может быть свойством Actions компонента TActionList.

7. Из других новых возможностей C++ Builder 4, связанных с созданием пользовательского интерфейса, следует отметить возможность ограничения размеров компонентов и форм. Теперь наследники компонента TControl в C++ Builder 4 обладают свойством Constraints, определяющим максимальное и минимальное возможное значение ширины и высоты компонента или формы, при этом это свойство передается компоненту-контейнеру, содержащему такой компонент, если последний имеет свойство Align, отличное от alNone.

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

Открытый масштабируемой доступ к данным

Благодаря открытому и опубликованному интерфейсу Oracle 8, появляется возможность описывать прямые вызовы Oracle Call функций. Это значительно повышает скорость доступа к данным и отказ от посредника - BDE (Borland Database Engine), но в то же время усложняется прикладное программирование. Академическая работа с базами данных в C++ Builder ведется через универсальный механизм доступа BDE. Архитектура BDE предусматривает взаимодействие с каждым конкретным источником информации через драйвер (SQLLinks - для серверов баз данных). C++ Builder 4 включает 32-битовые SQL Link для Oracle, Interbase, Sybase, МS SQLServer, Informix и DB2. C++ Builder 4 Client Server Suite включает неограниченную лицензию для редистрибуции любых имеющихся драйверов.

C++ Builder 4 – хорошее решение для масштабирования настольного Access до масштабов предприятия. Высокоскоростные драйверы баз данных для Microsoft Access обеспечивают возможность использовать средства RAD Delphi с наиболее популярной настольной базой данных.

В среде C++ Builder 4 имеется поддержка для баз данных FoxPro. Разработчики могут создавать приложения с помощью C++ Builder 4, используя существующие таблицы данных FoxPro и Clipper. Используя набор компонент Apollo, есть возможность полнейшей поддержки старых идеологий программирования данных. Разработчик программного обеспечения в Clippere или FoxPro теперь чувствует себя как «рыба в воде» благодаря этой компоненте. Синхронизация данных из DOS и Windows абсолютно прозрачна.

Для мультимедийных и других приложений, требующих неструктурированных данных, теперь можно работать с многочисленными двоичными объектами, каждый размером до 4GB, загруженными в единственную колонку таблицы базы данных. Поле Большого Объекта (LOB) располагается во внешней среде (файле). Вы можете оптимизировать использование новых двоичных типов, как например на время отложить перекачку LOB поля, пока пользователь не получит весь курсор, а затем уже, используя пакетные процедуры, получать необходимые большие данные. BLOB (Двоичный Большой Объект) является двоичным типом данных, который может использоваться, чтобы загрузить данные любого типа. Для управления документами или системами поиска текста может быть использован CLOB (Символьный Большой Объект). Вы можете сделать ссылку на внешние файлы, отредактированные другими приложениями (как, например, аудио- файлы, AVI, BITMAP, и другие) без дублирования, так как BFILE данные загружаются в файлы операционной системы вне базы данных, что естественно экономит табличное пространство сервера базы данных.

Поддержка новых расширений Oracle8

Библиотека Borland Database Engine (BDE) теперь поддерживает и Oracle8, при этом поддерживаются новые расширения Oracle 8.05 Entrprise edition, такие как абстрактные типы данных (ADT - Abstract Data Type), массивы, ссылки, вложенные таблицы. В соответствии с этим созданы новые классы объектов - потомков TField: TADTField, TReferenceField, TDataSetField, TArrayField. При настройке алиаса BDE необходимо указать поддержку Object Mode=True, так же в компонентах Ttable, Tquery появилось свойство ObjectView которое устанавливается в True при работе с объектными типами данных .

Поддержка вложенных таблиц

Компонент TDBGrid теперь может отображать вложенные таблицы. Вложенные таблицы допускают повторную группировку информации, которая должна загружаться непосредственно в существующую таблицу, не требуя ввода, который должен генерироваться для каждой строки.

Специальная компонента C++ Builder TnestedTable поддерживает вложенные таблицы.

Многозвенная архитектура

В основе поддержки распределенных вычислений в C++ Builder, лежит следование двум направлениям: ориентация на стандарты и максимальное упрощение процесса разработки приложений. Старшие версии С++ поддерживали комплекс технологий для разработки многозвенных систем (middleware) под общим названием MIDAS (Multi-tier Distributed Application Services). Теперь же доступ к серверам приложений может осуществляться на основе Sockets – класс TSocketConnection, DCOM –класс TDCOMConnection, CORBA/IIOP – класс ТcorbaConnection, OLEenterprise – класс TOLEnterpriseConnection.
C++ Builder включает набор специализированных генераторов кода, предназначенных для разработки серверов приложений.

Используя технологии MIDAS, разработчики получают систему с минимальными требованиями к ресурсам клиентских машин. Среда BDE переносится на сторону сервера приложения. На стороне клиента остается EXE файл и набор библиотек DLL для поддержки той или иной технологии передачи интерфейсов.

Совместно с C++ Builder 4 поставляется VisiBroker 3.3 для поддержки CORBA технологии. Встроенный редактор TLB библиотеки представляет собой графическое средство для создания интерфейсов на языке IDL, который никогда не был простым, однако используя такой редактор, программист постоянно получает синхронизированные данные для COM объектов.

WEB брокер для распространения информации из базы данных

Использование «чистых» системных DLL Builder 4 позволяет создавать высокоскоростные приложения для INTERNET. Приложения для web-сервера являются библиотеками DLL, при использовании стандарта ISAPI/NSAPI и приложениями EXE при использовании стандарта CGI. WEBBridge предоставляет Вам, как разработчикам web-приложений, единый API интерфейс для доступа к ISAPI и NSAPI интерфейсам серверов от Microsoft и Netscape соответственно, таким образом разработчик не зависит от стандарта web-сервера. С помощью специального Wizard разработчик

создает web-приложение:

WEB Module принимает от клиентов запросы и возвращает обратно HTML потоки. Эти действия могут совмещаться на серверах web-приложений с бизнес-логикой без написания

дополнительного кода. Компоненты, созданные специально для работы с web-приложениями обеспечивают полную логику выполнения запросов клиентов, благодаря передаче параметров из HTML форм. Особое внимание хочется уделить редактору компоненты TqueryTableProducer, благодаря которому кодирование таблиц в HTML стандарте сводится к элегантной настройке соответствующих свойств редактора. Кроме этого WebDispatcher является компонентом, ответственным за обработку событий приложения web-сервера. Диспетчер работает через акции, которые поступают web-приложению от клиентов в виде соответствующих URL адресов. Результатом работы акции является отработка метода, возвращающего HTML поток:

void __fastcall TWebModule1::WebModule1WebActionItem1Action(
TObject *Sender, TWebRequest *Request, TWebResponse *Response,
bool &Handled)
{
Request->Content:='<HTML>Hello World<HTML>'; //Единственное, что было
//написано руками
}

Другие компоненты для работы с Internet

В C++ Builder 4 появился большой набор компонент, поддерживающий различные технологические стандарты Internet, а именно TCP/IP, FTP, HTTP, HTML, NNTP, POP3, SMTP и многие другие, все они представлены на закладки палитры компонент Internet:

Более подробно познакомиться с возможностями C++ Builder 4 можно на курсах, которые проводятся в Учебно-консалтинговом центр Interface Ltd.: тел. (095)135-55-00, 135-25-19, mail@interface.ru

Координаты автора:
Учебно-консалтинговый центр Interface Ltd.,
тел. (095)135-55-00, 135-25-19,
e-mail: mail@interface.ru


Interface Ltd.

Подготовили: Антипина Галина, E-mail: antipina@interface.ru
Елена Александрова, E-mail: webmaster@interface.ru