РЕЦЕНЗИИ

 

Вслед за первой книгой* Тома Свана вышла в свет его вторая книга**, посвященная программированию в популярной инструментальной среде Delphi. Том Сван известен по многим компьютерным изданиям широкому кругу программистов  -  как профессионалам, так и осваивающим эту профессию. Его соавтор, профессиональный программист Джефф Когсвелл, занимался подбором материала и написанием основной части приложений. Любопытно, что авторы, проживающие в разных американских штатах, работали над книгой, пользуясь услугами электронной почты сети Compuserve.

 

Если первая книга Свана о Delphi в основном была посвящена (несмотря на многообещающее название “Основы программирования в Delphi для Windows 95”) работе в 16-разрядной Windows 3.1x, то в рассматриваемом издании действительно исследуются многочисленные аспекты, связанные с программированием исключительно в 32-разрядных  -  Windows 95 и Windows NT.

 

“Секреты 32-разрядного программирования в Delphi” представлены в виде руководства по программированию в среде Delphi для Windows 95 и NT и предназначены для программистов-профессионалов, разрабатывающих приложения различного типа.

 

Книга имеет значительный объем: 472 большого формата страниц текста, набранного мелким шрифтом. Она разбита на 18 глав и включает два приложения. Правда, вторым приложением, в котором описывается инсталляция дискеты, читателю, видимо, воспользоваться не суждено ввиду отсутствия таковой. Удобным дополнением является англо-русский предметный указатель.

 

Описание многообразных, достаточно сложных, а в ряде случаев нетривиальных аспектов программирования сопровождается подробно прокомментированными примерами. Сами примеры представлены в виде исходных текстов, которые могут быть откомпилированы и проверены читателем, что безусловно будет способствовать усвоению непростого (в большинстве случаев) материала. К сожалению, дискеты с примерами, на которую ссылаются авторы, обнаружить в продаже не удалось (и это самый существенный недостаток книги), хотя именно она по замыслу авторов должна способствовать пониманию многих небезынтересных методов программирования. Например, в конце раздела “Перемещение пиктограмм на индикатор” (стр. 197) читаем: “В каталоге C08 есть две программы  -  Tray1 и Tray2,  -  с помощью которых можно узнать, как создавать и использовать пиктограммы индикатора”. Не имея дискеты, читатель так никогда и не увидит “каталога C08” и не узнает, как же создать... А таких ссылок на программы, отсутствующие в книге, немало.

 

Содержание книги вполне соответствует названию. Наряду с секретами графики перед читатетем раскрываются проблемы разработки баз данных, дается понятие о многозадачности и многопоточности в современной ОС, открывается сложный мир OLE.

 

В издании множество любопытных разделов. Интересна глава “Освоение 32-разрядного программирования в Windows”. В ней рассматриваются некоторые необходимые программисту и отсутствующие в Delphi функции Win32, но уделяется также внимание разработке аплетов и их отладке.

 

В отдельной главе дается понятие об управлении ресурсами: рассматриваются объекты GDI-ресурсов во время разработки приложения, показывается, как управлять несколькими объектами класса TIcon. Описанный метод управления позволяет сохранять ресурсы и память, что важно при работе с большими растровыми изображениями. В то же время авторы предупреждают, что при использовании подобного метода могут возникнуть трудно обнаруживаемые ошибки. Здесь же рассказано, как из EXE-файла выделить форму приложения, построенного в среде Delphi, приведена методика создания файла формы в формате DFM, описаны способы работы с системным реестром.

 

Системных программистов заинтересуют главы, в которых изложены механизмы управления памятью, раскрыты секреты DLL, рассматриваются аспекты, связанные с методами управления файлами и потоками. В отдельной главе рассматриваются методы разработки справочной системы, рассказывается о том, как создать контекстно-зависимую справочную систему для приложений и контекстную справку в текстовом редакторе. Ценными можно считать и советы автора по отладке программ, например, по использованию отладчика Turbo Debugger при отладке библиотек DLL.

 

А в заключение авторы дают программисту-профессионалу “десять самых сокровенных советов”, основанных на собственном опыте и позволяющих сократить время на разработку приложений.

 

Следует сказать несколько слов о переводе: в целом он неплох, хотя имеются и недостатки, в основном терминологического характера. В ряде мест перевод не совсем ясный, явно подстрочный, например, на стр. 125 читаем: “Ниже приведен фрагмент кода, который ставит программу в затруднительное положение”. Здесь скорее пользователь попадает в такое положение.

 

В заключение отмечу, что труд Т.Свана и Дж. Когевелла выделяется из ряда изданий по “дельфийской” тематике, представляет ценность для профессионала-программиста и, будем надеяться, окажет существенную помощь в его непростой работе. *Том Сван. Основы программирования в Delphi для Windows 95. Киев:  Диалектика, 1996.

 

**Том Сван, Джефф Когсвелл. Секреты 32-разрядного программирования в Delphi. Киев: Диалектика, 1997.

 

Александр Чубуков

Версия для печати