Обзор Delphi 4
Андрей Матвеев, andreim@chat.ru (Окончание. Начало - "КИ", 16-17)
Поддержка 2000
года
Когда
наступит 2000 год, немало проблем принесут даты, в которых год указан двумя
цифрами. Программы не смогут понять, к какому тысячелетию принадлежит год.
Глобальным решением данной проблемы является ввод года полностью, четырьмя
цифрами. Временное решение проблемы существует в Delphi 4 для функций StrToDate
и StrToDateTime. Для этого введена новая переменная TwoDigitYearCenturyWindow
типа word. В первую очередь определяется CenturyBase путем вычитания значения
этой переменной из значения текущего года. Далее определяется столетие,
к которому относится CenturyBase, и к значению года, введенному двумя цифрами,
добавляется это значение. Полученный результат сравнивается со значением
начала CenturyBase, и, если он меньше, то к этому результату добавляется
еще 100 лет.
Вот отрывок из исходного кода RTL, описывающего эти действия (в Y находятся
два знака года даты):
CenturyBase := CurrentYear - TwoDigitYearCenturyWindow; Inc(Y, CenturyBase
div 100 * 100);
if (TwoDigitYearCenturyWindow > 0) and (Y < CenturyBase) then Inc(Y,
100);
Таким образом, значение TwoDigit YearCenturyWindow, равное 0, по умолчанию
определяет, что год принадлежит к текущему тысячелетию.
Изменения и дополнения
визуальных компонент
У каждого пункта меню появилось свойство
Bitmap, с помощь которого можно разместить рядом с наименованием небольшое
изображение - файл в формате .BMP.
Полоски прокрутки теперь могут быть плоскими, что красиво выглядит при
создании некоторых интерфейсов. Поддержка .JPG файлов позволяет не отвлекаться
на конвертацию и хранить изображения в предпочитаемом формате.
У множества компонент появились новые свойства для взаимодействия с
новыми компонентами.
Новые визуальные
компоненты
На странице Standard появился новый
компонент ActionList. Он содержит список действий, которые могут быть активизированы
пользователем, например, из меню или нажатием на кнопку. Соответственно
у многих компонент появилось свойство Action, служащее для указания действия
из списка. ActionList централизует ответы на действия пользователя и отделяет
логическую часть программы от интерфейсной.
ControlBar на странице Additional позволяет сделать в вашей программе
такую же панель, как в Microsoft Office 97, и разместить на ней различные
компоненты, которые пользователь сможет сам перемещать в пределах панели
по своему усмотрению. На странице Win32 появились две новых компоненты:
MonthCalendar, представляющий собой открытый календарь, в котором пользователь
может выбрать дату или диапазон дат, и PageScroller, предназначенный для
прокрутки узких окон, таких, как панель инструментов.
На странице Internet произошло немало изменений. Клиентские Internet
компоненты NetMasters теперь носят префикс NM. В связи с этим компоненты
FTP, HTTP, NNTP, POP3, SMTP, UDP переименованы соответственно на NMFTP,
NMHTTP, NMNNTP, NMPOP3, NMSMTP, NMUDP. Появился и большой ряд новых компонент.
DataSetPageProducer собирает последовательность HTML команд для просмотра
записей из базы данных в табличном формате. NMDayTime и NMTime получают
дату и время с серверов. NMEcho посылает сообщения и ответ от эхо серверов.
NMFinger получает информацию о пользователях с finger сервера. NMMsg посылает
текстовые сообщения. NMMsgSrv принимает сообщения, посланные с помощью
NMMsg. NMUUPro-cessor кодирует и декодирует MIME и UUE файлы. NMStrm посылает
поток к NMStrmServ. NMStrmServ принимает поток от NMStrm. PowerSock является
базовым классом и помогает создавать новые протоколы. NMGeneralServer -
базовый класс для построения серверов. HTML реализует просмотрщик HTML
кода. NMURL осуществляет перевод между форматом данных URL и стандартными
строками.
Со страницы DataAccess исчезли компоненты ClientDataSet, RemoteServer,
MidasConnection (они перенесены на новую страницу Midas) и появился новый
компонент NestedTable, предназначенный для поддержки вложенных таблиц.
Новая страница Midas (Multi-tiered Distributed Application Services)
содержит все необходимое для построения корпоративных систем и клиент-серверных
баз данных. DCOMConnection устанавливает DCOM соединение с удаленным сервером,
CorbaConnection устанавливает Corba соединение, SocketConnection устанавливает
TCP/IP соединение, OLEnterpriseConnection OLEnterprice соединение, DataSetProvider
и Provider обеспечивают информацией из базы данных клиентскую программу
и принимают изменения от нее, SimpleObjectBroker сохраняет список доступных
для соединения серверов.
Страница QReport содержит QuickReport версии 3.0. Он практически совместим
с QuickReport 2.0, но содержит также ряд дополнительных компонент. QRTextFilter,
QRCSVFilter и QRHTMLFilter предназначены для фильтрации соответствующей
информации, QRExprMemo позволяет вводить многострочные выражения и тексты,
QRStringBand связывает строки.
На новой странице ActiveX вы найдете поддержку интерфейсов Visual Basic,
которые позволяют получить полезные возможности: построение объемных и
плоских графиков и диаграмм, проверку правописания, окно для редактирования
таблиц.
Новые мастера
Com Object помогает быстрее создавать
разнообразные .COM объекты. DB Web Application Wizard позволяет создавать
WEB приложения для доступа к базам данных. Service и Service Application
включают шаблоны приложений для Windows NT, которые могут стартовать как
сервисы. На новой странице Multitier появилось несколько мастеров для создания
multi-tiered приложений, что удачно дополняет гамму новых мастеров.
Новые клавиатурные
сокращения
CTRL+F11 - открытие проекта; ALT+F11
- использовать модуль в проекте; ALT+G - перейти к строке по номеру; CTRL+ALT+F11
- менеджер проектов; SHIFT+F11 - добавить модуль к проекту; CTRL+SHIFT+F11
- установки проекта; CTRL+ALT+B - точки останова; CTRL+SLT +S - стек вызовов;
CTRL+ALT+W - наблюдение за переменными; CTRL+ALT+T - нити, CTRL+ALT+M -
модули; CTRL+ALT +C - окно CPU; CTRL+ALT+E - журнал событий.
OpenHelp
Для простого и быстрого конфигурирования файлов помощи
Windows (.HLP) в Delphi 4 включен OpenHelp. Он вызывается из Help|Customize
и позволяет создавать и конфигурировать проекты файлов помощи и, в первую
очередь, справку по Delphi.
Delphi Direct
Добавление Delphi Direct к интегрированной
среде использует соединение Интернет и браузер для нахождения и информирования
вас о новостях в продуктах серии Delphi, обновлениях и исправлениях, технических
советах и хитростях. Теперь разработчики, чтобы узнать последнюю интересующую
их информацию, не заблудятся где-нибудь в дебрях www.inprise.com. Достаточно
скачать direct40.bpl, скопировать его в директорию DELPHI4\BIN и это небольшое,
но приятное дополнение, которое вызывается с помощью Help|Delphi Direct,
само приведет вас к цели в считанные секунды.
Совместимость и
перенос проектов из Delphi 3
Немного изменился формат файлов с пакетами
(DPK) в части Contains. Delphi 4 понимает старый формат и предложит перевести
его в новый при открытии. Также изменилось и расширение откомпилированных
пакетов с .DPL на .BPL. Ситуация по сравнению с переходом Delphi 2-Delphi
3 намного лучше, множество проектов могут быть просто перенесены с Delphi
3. Обеспечена высокая совместимость QuickReport 3.0 с версией 2.0, поэтому
серьезно переделывать отчеты не придется.
Быстродействие
и размеры исполняемых файлов
Параметры быстродействия приложений
и скорости компиляции сохранились, Delphi по-прежнему является самым быстрым
32-разрядным компилятором. Увеличилась продолжительность начальной загрузки
Delphi (примерно на 50%) при достаточном количестве оперативной памяти.
Код приложений, использующих VCL, и соответственно все возможности Delphi,
каких большинство, заметно возрос. Будьте готовы к тому, что размер исполняемого
файла увеличится как минимум на 20%, а в среднем - на 35%. Простой проект
из пары форм увеличивается примерно на 100 КБ. Особенно большое увеличение
размера вызывает использование компонент для работы с базами данных, Quick
Report и компонент Internet. Консольные и не использующие VCL приложения
увеличиваются на 4 КБ по сравнению с Delphi 3. Если ваша программа будет
выполняться на компьютерах с 8 МБ оперативной памяти, стоит глубоко задуматься
о компиляции ее Delphi 4. Хотя она будет работать, быстродействие будет
снижено из-за использования файла подкачки. При переносе приложений для
работы с базами данных, не стоит забывать, что версия BDE 5.0 более требовательна
к оперативной памяти, чем предыдущие. Так что, прежде чем переводить всех
ваших пользователей на приложения, откомпилированные Delphi 4, оцените
ресурсы их компьютеров, в первую очередь объем оперативной памяти, который
должен быть не менее 16 МБ.
Обновления и исправления
На www.qusoft.com можно найти бесплатное
обновление QuickReport. Познакомиться с обнаруженными проблемами и ошибками,
а их в Delphi 4 уже немало, можно на www.inprise.com/devsupport/delphi/fixes/delphi4.12
августа 1998 года вышел Update Pack #1, для его установки вам потребуются
ключ и серийный номер. Он содержит немало исправлений, в том числе библиотеки
визуальных компонент и интегрированной среды. Update Pack #1 доступен на
www.inprise.com/devsupport/delphi/downloads. Обновленные файлы справки
delphi4.hlp, del4vcl.hlp и измененный файл deploy.txt можно найти на www.inprise.com/techpubs/delphi.
22 июля 1998 года вышла новая версия популярной библиотеки RxLib 2.50.
Она полностью совместима с Delphi 4, содержит несколько новых компонент
и в ней исправлен ряд ошибок. Доступна на http://rx.demo.ru.
Delphi уже в продаже
5 августа 1998 года начались поставки
Delphi 4, и теперь вы можете приобрести продукт в региональных представительствах.
Вариант Client/Server Suite стоит $2.499, Professional $799, а Standard
продается по рекламной цене в $99.95. Для тех, у кого есть более ранние
версии, существует программа обновления на новые версии по сниженным ценам.
Заключение
За последнее время Inprise не только
заключила ряд стратегических союзов, но и несколько изменила стратегию.
Хоть Delphi, C++ Builder, JBuilder все время соревнуются в возможностях,
очень заметно, что Inprise все больше и больше их интегрирует. Может случиться,
что в один прекрасный момент, который станет поистине революционным, будет
образован единый продукт, понимающий все три языка. Это и откроет новую
страницу в области инструментов программирования.
Что касается нынешних заказчиков Inprise, в их список входят такие крупные
компании, как Motorola, Hitachi, BMW, Reuters, Mersedes Benz, Bank of America.
Это говорит о том, что фирме есть откуда получать свою прибыль и есть на
что развиваться. В любом случае очевидно, что Delphi в данный момент стал
стандартом в некоторых областях и успешно развивается.
КОМПЬЮТЕР ИНФОРМ