Предисловие
"Delphi 6 уже два года, для программного продукта это возраст зрелости."
В компании Borland я имею удовольствие работать уже более 16 лет. Я пришел сюда летом 1985 года и сначала принимал участие в разработке нового поколения инструментальных средств программирования (системы UCSD языка Pascal и обычных инструментов командной строки было уже недостаточно). Предполагалось, что достигнутое повышение эффективности труда позволит ускорить разработку программ и снизить нагрузку на программистов. В конечном счете это даст возможность им (включая и меня) больше времени проводить с семьей и друзьями и вообще сделает их жизнь богаче и интересней. Я горжусь тем, что принадлежу ко всемирному сообществу разработчиков Borland, воплотившему в жизнь на протяжении последних 18 лет столько передовых технологий разработки и нововведений.
Выход пакета Turbo Pascal 1.0 навсегда изменил представление об инструментах программирования. Это произошло в 1983 году. Выход пакета Delphi сделал это еще раз. Среда Delphi 1.0 была разработана для поддержки объектно-ориентированного программирования, программирования в Windows и создания приложений для работы с базами данных. В последующих версиях Delphi была упрощена разработка приложений для Internet и распределенных приложений. Хотя Web-сайт с описаниями основных свойств наших продуктов существует уже много лет и содержит тысячи страниц печатной документации и мегабайты данных интерактивной справочной системы, существует много другой полезной информации, рекомендаций и советов, которые были бы полезны разработчикам для успешной реализации их проектов.
Что же в Delphi 6 появилось такого нового и универсального, обеспечившего ему превосходство над весьма неплохой Delphi 5? Разве Delphi 5 уже не упрощал процесс создания приложений Internet и распределенных приложений при улучшении производительности программирования? Смогла ли группа разработчиков Delphi превзойти себя и снова удовлетворить запросы сегодняшних и завтрашних разработчиков?
Группа разработчиков Delphi потратила более двух лет, выслушивая пожелания заказчиков, рассматривая применение программного продукта разработчиками, выискивая перспективные направления применения программирования в новом тысячелетии. Они сосредоточили свои усилия на радикальном упрощении процесса разработки следующего поколения приложений электронного бизнеса, Web-приложений, XML- и SOAP-ориентированных Web-служб, интеграции с приложениями B2b/B2C/P2P, межплатформенных приложений, распределенных приложений, включающих интеграцию с серверами приложений и EJB, а также на приложениях для Windows ME/2000 и Microsoft Office 2000.
Стив Тейксейра и Ксавье Пачеко сделали это снова. Они переделали свое руководство разработчика так, чтобы вы смогли воспользоваться всеми широчайшими возможностями программирования в Delphi 6.
Я уже многие годы знаю Стива Тейксейру (некоторые называют его T-Rex - "Тиранозавр Rex") и Ксавье Пачеко (некоторые называют его просто X - "кси") как своих друзей, замечательных работников, непременных ораторов на всех ежегодных конференциях и давних членов сообщества пользователей продуктов компании Borland.
Предыдущее издание их "Руководства разработчика" было с энтузиазмом встречено пользователями Delphi всего мира. И вот теперь у вас в руках новейшая версия этого издания, способная доставить немало приятных часов увлекательного чтения.
Читайте, учитесь и развлекайтесь вместе с авторами! Любой из продуктов Delphi выпускался для того, чтобы доставить вам радость творчества, ведущего к успеху и достойному вознаграждению.
Дэвид Интерсаймон (David Intersimone) - "Дэвид I".
Вице-президент по связям с разработчиками Borland Software Corporation.
[email protected]
Введение
Вы держите в руках экземпляр пятого издания серии Delphi Руководство разработчика - результат поистине тысяч человеко-часов труда в течение более чем семи лет. Стив и Ксавье входили в состав первой группы разработчиков проекта Delphi корпорации Borland, а эта работа - итог их более чем пятнадцатилетней совместной деятельности и обобщение огромного опыта разработки программного обеспечения на языке Delphi. В новом издании Delphi 6 Руководство разработчика мы постарались сохранить дух и традиции прежних изданий этой серии, которые, возможно, сделали ее наиболее читаемыми книгами о Delphi в мире, а также двухкратным лауреатом приза читательских симпатий книг по Delphi. Эта книга написана разработчиками для разработчиков.
Нам хотелось, чтобы Delphi 6 Руководство разработчика органично вошла в подборку книг из серии Delphi Руководство разработчика, а также дополнила и развила написанное ранее. Было бы просто замечательно, если бы удалось собрать в одной книге (слегка модифицировав), то, что было изложено в Delphi 5 Руководство разработчика, и все новое, относящееся к Delphi 6. Но прежняя книга и так была уже достаточно объемной, а полиграфическая техника имеет, к сожалению, ограничения на их размер. Чтобы избежать проблем, связанных с объемом книги, при этом изложив наиболее ценный материал, раскрывающий все возможности Delphi 6, мы решили опубликовать новую книгу с новой информацией.Delphi 6 Руководство разработчика содержит несколько абсолютно новых глав, большинство прежних глав было существенно расширено и дополнено, а некоторые из наилучших разделов предыдущего издания вошли практически без изменений. Но информация книги Delphi 5 Руководство разработчика не была потеряна полностью, она содержится на CD, прилагаемом к этой книге. В результате, в одной книге содержится по существу две.Delphi 6 Руководство разработчика разделена на шесть разделов.
Часть I, "Основные направления программирования", содержит все основы знаний, необходимые для того, чтобы стать настоящим разработчиком Delphi.
Часть II, "Профессиональное программирование", освещает некоторые наиболее общие проблемы программирования нового типа. Таких, например, как потоки и динамически связанные библиотеки.
Часть III, "Разработка баз данных", обсуждает многообразие способов доступа к данным в Delphi.
Часть IV, "Компоненториентированная разработка", демонстрирует разнообразные проявления компонент-ориентированной разработки, включая VCL, CLX, пакеты, COM и API Open Tools.
Часть V, "Разработка корпоративных приложений", позволяет приобрести практические знания, необходимые для разработки корпоративных приложений, оснащенных такими технологиями, как COM+, CORBA, SOAP/BizSnap и DataSnap. И, в заключение,
Часть VI, "Программирование для Internet", демонстрирует пример разработки на Delphi приложений для Internet и беспроводной связи.
Для кого написана эта книга
Как следует из названия, книга предназначена для разработчиков. Поэтому, если вы - разработчик программного обеспечения и используете Delphi, то эта книга - для вас. Мы предполагали, что книга заинтересует три основные группы читателей:
- Разработчиков на Delphi, желающих повысить свой уровень.
- Опытных программистов на языках Pascal, C/C++, Java или Basic, намеревающихся приступить к работе на Delphi.
- Программистов, работающих на языке Delphi, но желающих научиться пользоваться всеми его дополнительными возможностями, а также не всегда очевидными особенностями.
На прилагаемом компакт-диске находятся все исходные тексты и файлы описанных проектов, а также исходный код примеров, текст которых мы не смогли включить в книгу. CD также содержит несколько мощных утилит и компонентов сторонних производителей.
Дополнения, исправления и обновления книги можно найти на Web-сайте по адресу: http://www.xapware.com/ddg.
Итак, приступим
Нам иногда задают вопрос: что заставляет вас писать все новые книги, посвященные Delphi? Это трудно объяснить, но, наверное, хотя бы то, что, когда встречаешься с другим разработчиком Delphi и видишь у него в руках свою потрепанную книгу, понимаешь - жизнь потрачена не зря.
Об авторах
Стив Тейксейра (Steve Teixeira) - руководитель компании Zone Labs, отвечающий за основные технологии и ведущий специалист в области обеспечения безопасности в Internet. Ранее Стив работал главным техническим специалистом в компании ThinSpace, занимавшейся программным обеспечением беспроводной и мобильной связи, а также в Full Moon Interactive, предлагавшей решения по разработке программ электронного бизнеса. До этого он работал инженером-исследователем в области разработки программного обеспечения в корпорации Borland и принимал участие в создании Delphi и C++Builder. Стив известен как автор четырех книг, завоевавших приз читательских симпатий, и многочисленных статей в журналах по разработке программного обеспечения. Его работы переведены на многие языки и опубликованы во всем мире. Стив часто выступает на отраслевых конференциях и международных семинарах.
Ксавье Пачеко (Xavier Pacheco) - президент и главный консультант Xapware Technologies Inc., Колорадо Спрингс, США. Эта фирма специализируется на предоставлении консультаций и обучении. Ксавье часто выступает на отраслевых конференциях и регулярно пишет для периодических изданий статьи, посвященные Delphi. Он пользуется международным признанием как специалист и консультант по Delphi, является автором четырех книг, переведенных на многие языки мира, и завоевавших приз читательских симпатий. Он также является членом особой группы "TeamB" корпорации Borland, в задачи которой входит поддержка начинающих пользователей. Вместе со своей женой Анной и дочерью Амандой Ксавье живет в Колорадо Спрингс.
О соавторах
Боб Сворт (Bob Swart), известный также под именем Доктор Боб (Dr.Bob - www.drbob42.com), сотрудник филиала Borland в Великобритании (UK Borland Connections), независимый автор технической литературы, преподаватель и консультант по Delphi, Kylix и C++Builder, проживающий в Хелмонде (Нидерланды). Боб ведет постоянные колонки в журналах The Delphi Magazine, Delphi Developer, UKBUG Developer's Magazine, а также такие Web-сайты сообщества Borland, как DevX и TechRe-public. Боб написал главы для The Revolutionary Guide to Delphi 2, Delphi 4 Unleashed, C++Builder 4 Unleashed, C++Builder 5 Developer's Guide, Kylix Developer's Guide, а теперь и для Delphi 6 Руководство разработчика (опубликованного в издательстве Sams).
Боб часто выступает на международных семинарах на темы, связанные с Borland, Delphi и Kylix, а также готовит учебные материалы для своей собственной клиники Delphi доктора Боба (Dr.Bob's Delphi Clinics) в Нидерландах и Великобритании.
В свободное время Боб любит посмотреть записи сериалов "Стар Трек" (Star Trek Voyager) и "Дальний космос девять" (Deep Space Nine) со своим 7-летним сыном Эриком Марком Паскалем (Erik Mark Pascal) и 5-летней дочерью Наташой Луизой Делфиной (Natasha Louise Delphine).
Дэн Мизер (Dan Miser) - руководитель проекта группы разработчиков Delphi компании Borland. Большую часть своего времени он проводит именно там, занимаясь исследованием технологий, находящихся на стадии становления. Дэн также работал в группе Delphi, где его обязанности заключались в разработке технологии DataSnap. Основное внимание Дэн уделяет изысканию беспрепятственных способов доступа к информации, размещенной на разных платформах, что сделало его экспертом в ряде таких компьютерных технологий корпоративного доступа к данным, как MIDAS, SOAP, DCOM, RMI, J2EE, EJB, Struts и RDS. В качестве технического редактора он оказал неоценимую помощь авторам в создании серии книг Руководства разработчиков Delphi, писал статьи в журналах, участвовал в группах новостей Borland как член группы TeamB, а так-же выступал на различных конференциях, посвященных COM и MIDAS.
Дэвид Семпсон (David Sampson), инженер группы разработчиков инструментальных средств Borland, отвечал за интеграцию CORBA в продукты RAD. Весьма продолжительное время он занимался разработкой на языках Pascal, Delphi и C++. Дэвид - непременный участник конференции разработчиков Borland. Вместе с женой он проживает в городе Росвел (штат Джорджия) и наслаждается хоккеем и айкидо, а иногда помогает жене в ее работе с пакетом Basenjis.
Ник Ходжес (Nick Hodges) - старший инженер-разработчик корпорации Lemanix Corporation (Сан-Поль, Миннесота). Он является участником группы "TeamB" корпорации Borland и длительное время работал разработчиком Pascal и Delphi. В настоящий момент Ник работает в правлении консультационной службы Borland, участвует в конференциях и пишет статьи для сайта сообщества Borland. Он живет в городе Сан-Поль вместе с женой и двумя дочерьми. Ник любит читать, занимается бегом, а также помогает жене и детям по дому.
Рей Конопка (Ray Konopka) - основатель компании Raize Software, Inc. и главный системный архитектор CodeSite и Raize Components. Рей является автором весьма популярной книги Developing Custom Delphi Components и не менее популярной колонки Delphi by Design в журнале Visual Developer Magazine. Рей специализируется на проектировании пользовательского интерфейса и разработке компонентов Delphi. Кроме того, он является участником международных конференций разработчиков.
Благодарности
Мы благодарим всех, без чьего содействия эта книга никогда не была бы написана. Кроме того, просим никого не винить в ошибках, если таковые будут замечены в книге. В любом случае все обнаруженные ошибки мы относим на свой счет.
Мы выражаем свою исключительную признательность нашим соавторам, использовавшим весь свой опыт разработчиков программного обеспечения и писательское мастерство для того, чтобы эта книга стала тем, чем она является сейчас. Превосходную главу 13, "Разработка компонентов CLX", написал сам мистер Компонент, Рей Конопка (Ray Konopka). Гуру DataSnap, Дэн Мизер (Dan Miser), блестяще сподобился написать главу 21, "Разработка приложений DataSnap". Признанный эксперт CORBA, Дэвид Семпсон (David Sampson), пожертвовал на общее благо главу 19, "Разработка приложений CORBA". Спасибо тебе, "Доктор Боб", он же Роберт Сварт (Robert Swart), за твою талантливую и основополагающую главу 22, "Разработка приложений ASP". И, наконец (но не в последнюю очередь!), "Web-Мастер" - Ник Ходжес (Nick Hodges) снова с нами в главе 23, "Разработка приложений WebSnap".
Прежде всего мы хотим поблагодарить наших технических рецензентов и хороших друзей - Томаса Теобалда (Thomas Theobald) и Джона Томаса (John Thomas). Эти парни сумели уложиться в жесткий график работы несмотря на то, что технические специалисты Borland завалили их поистине громадным объемом программного обеспечения.
Во время создания этой книги мы получили множество советов и рекомендаций от своих друзей и сотрудников. В их числе (в алфавитном порядке) "Лино" Алан Тадрос (Alan Tadros), Андерс Хежлсберг (Anders Hejlsberg), Андерс Олсон (Anders Ohlsson), Шарль Калверт (Charlie Calvert), Виктор Хорнбак (Victor Hornback), Чак Джаздзевский (Chuck Jazdzewski), Дэниел Полищук (Daniel Polistchuck), Дэнни Торп (Danny Thorpe), Дэвид Стривер (David Streever), Элли Питерс (Ellie Peters), Джефф Питерс (Jeff Peters), Ланс Буллок (Lance Bullock), Марк Дункан (Mark Duncan), Майк Дуган (Mike Dugan), Ник Ходжес (Nick Hodges), Пауль Кваллс (Paul Qualls), Рич Джонс (Rich Jones), Роланд Бюшер (Roland Bouchereau), Скотт Фролич (Scott Frolich), Стив Биб (Steve Beebe), Том Бутт (Tom Butt) и многие другие - мы просто не в состоянии всех перечислить, но пиво мы им должны.
И, наконец, огромное спасибо всей бригаде, работавшей над книгой: Кэрол Аккерман (Carol Ackerman), Кристине Смит (Christina Smith), Дэну Шерфа (Dan Scherf) и многим другим, которые скромно трудились за сценой, но без которых книга никогда не стала бы реальностью.
От издательства
Вы, читатель этой книги, и есть главный ее критик и комментатор. Мы ценим ваше мнение и хотим знать, что было сделано нами правильно, что можно было сделать лучше и что еще вы хотели бы увидеть изданным нами. Нам интересно услышать и любые другие замечания, которые вам хотелось бы высказать в наш адрес.
Мы ждем ваших комментариев и надеемся на них. Вы можете прислать электронное письмо или просто посетить наш Web-сервер, оставив свои замечания, - одним словом, любым удобным для вас способом дайте нам знать, нравится или нет вам эта книга, а также выскажите свое мнение о том, как сделать наши книги более подходящими для вас.
Посылая письмо или сообщение, не забудьте указать название книги и ее авторов, а также ваш e-mail. Мы внимательно ознакомимся с вашим мнением и обязательно учтем его при отборе и подготовке к изданию последующих книг. Наши координаты:
E-mail: [email protected]
WWW: http://www.williamspublishing.com