Borland kylix инсталляция и первое знакомство


Содержание

Borland kylix инсталляция и первое знакомство

Тема сравнения Linux и Windows в последнее время весьма популярна. В прессе можно найти множество противоречивых мнений по поводу перехода с Windows на Linux. Но, как правило, все оппоненты сходятся на одном — недостаточное количество существующего ПО и сложность создания собственных приложений не позволяют так просто перейти на работу в Linux. Впрочем, Kylix, похоже, сможет изменить эту ситуацию в лучшую сторону.

Кросс-платформенная разработка

Слухи о новом проекте фирмы Borland ходили с июля 1999 года, когда на сайте компании появилась анкета, имевшая целью определить степень заинтересованности разработчиков в перенесении основных средств разработки приложений на платформу Linux. Затем Borland выставила список вакансий программистов с опытом работы в Linux для написания приложений на Delphi и C++. Официальное же подтверждение появилось 28 сентября, когда Borland опубликовала пресс-релиз, объявив о начале работы над Linux-версиями Delphi и C++ Builder.

Kylix — первоначальное рабочее название нового проекта, позднее ставшее официальным именем. Цель этого проекта — перенести на платформу Linux широко признанные среды разработки Delphi и C++ Builder.

На ежегодной конференции разработчиков BorCon 2000 представители Borland продемонстрировали альфа-версию Kylix. На глазах у толпы ожидающих чуда энтузиастов было создано приложение в среде Delphi. Затем этот код с небольшими изменениями был перекомпилирован с использованием Kylix для создания идентичного приложения под Linux. По словам очевидцев, оба приложения работали абсолютно одинаково.

Можно ли с такой же легкостью перекомпилировать под Linux любое Delphi-приложение? Нет. Если в приложении используются прямые вызовы библиотек Win32 или библиотеки и компоненты третьих сторон, то потребуются соответствующие изменения. Представители Borland утверждают, что в среднем приложение, разрабатывавшееся в Delphi в течение полугода, можно будет адаптировать под Linux за месяц. Но даже несмотря на то, что не каждую программу легко пересобрать, Kylix в значительной степени облегчает и ускоряет процесс переноса Windows-приложений на платформу Linux.

Кроме того, Borland привлекла к работе над проектом несколько компаний-разработчиков утилит и компонентов, чтобы обеспечить поддержку ПО от сторонних разработчиков к моменту выхода первой версии Kylix.

Что может Kylix.

Набор библиотек Kylix содержит не только улучшенный компилятор языка Pascal, а его интегрированная среда разработки (IDE) обеспечивает механизмы быстрой разработки приложений. Как следствие, в Kylix есть:

  • синтаксический разбор текста программы в редакторе;
  • интегрированный отладчик;
  • визуальное проектирование форм (окон приложений и диалогов);
  • визуальное проектирование систем меню;
  • расширяемая компонентная модель;
  • большой выбор визуальных компонентов и виджетов;
  • компоненты для интеграции со многими популярными SQL базами данных;
  • компоненты для работы с протоколами Интернета;
  • коммерческие и бесплатные библиотеки компонентов от сторонних производителей;
  • расширяемый набор design-time утилит для создания модулей для работы с сервером Apache и простых и сложных приложений баз данных;
  • коммерческие и свободно распространяемые утилиты от других производителей.

Кроме того, нельзя не упомянуть, что среда разработчика в Kylix — вполне привычная, знакомая как собственно по Delphi, так и по другим продуктам фирмы Borland.

. И чего не может

Вы не мыслите процесса создания программы без собственноручного написания кода? Если вместо того, чтобы просто выбрать компонент и перетащить его на форму, вы предпочтете написать несколько сотен строк своего кода, то Kylix вряд ли придется вам по душе.

Не пригодится Kylix и тем, кому необходимо писать модули для ядра Linux. Kylix не поддерживает расширения GNU, имеющие какую-либо связь с ядром Linux (в частности, имеет другой синтаксис для написания ассемблерных вставок).

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

Как используется RAD

Теперь вы знаете, для чего Kylix не приспособлен. Тогда что же в нем хорошего? Ответ — быстрая разработка приложений.

Это могут быть абсолютно разные приложения — от несложных игр до текстовых процессоров. Это могут быть клиентские программы для систем баз данных или элементы многозвенных систем. Это могут быть и сетевые клиенты, например, программы просмотра электронной почты, или сетевые серверы, скажем, Web-серверы.

Быстрота разработки достигается за счет возможности визуально проектировать формы (окна приложений и диалогов). Достаточно щелкнуть мышкой по нужному компоненту, перетащить его на форму и отредактировать его свойства. Этот механизм используется во многих средах разработки, и нет ничего странного в том, что он будет и в Kylix.

В результате «быстрая разработка» означает, что при помощи Kylix можно будет создавать приложения гораздо быстрее, чем в традиционных для Linux средах, таких, как gcc, emacs, vi и gdb. А это, в свою очередь, резко упростит процесс создания прикладных программ и, следовательно, приведет к большему распространению Linux как универсальной операционной системы.

Kylix предназначен не только для разработки графических интерфейсов. В его основе лежит расширяемая компонентная модель для работы с виджетами, компонентами доступа к базам данных, работы с сетью и т.д. Эта модель называется CLX (component library for cross-platform, «кликс»). До создания CLX основой Borland IDE была библиотека классов Delphi VCL (Visual Component Library).Подобно CLX, VCL включала функции обработки текста, ввода/вывода, даты и времени, управления файлами, доступа к данным и их визуализации, работы с графикой, сетями и т. д. Разница между CLX и VCL состоит в том, что функции VCL опираются на Windows API, а в CLX буквально все, что касалось Windows API, было переписано так, чтобы обойтись без него. Конечно, это было непросто, но результаты этой работы стали фундаментом для дальнейшего развития языков программирования, независимых от ОС.

CLX можно легко расширить и дополнить. В настоящее время независимые разработчики уже создают компоненты в дополнение к стандартному набору.

CLX состоит из нескольких частей:

  • BaseCLX содержит ядро компонентной модели. Сюда входят такие элементы, как функции работы со строками, ввода/вывода, функции работы с датой и временем, работа с файлами, обработка исключений.
  • VisualCLX, использующая библиотеку Qt компании TrollTech (http://www.trolltech.com/products/qt/qt.html) для создания графических интерфейсов.
  • DataCLX, использующая dbExpress — новый механизм фирмы Borland для работы с различными SQL-базами данных, включая Interbase (Borland недавно открыла доступ к его исходным кодам) и mySQL. DataCLX можно использовать в однозвенной архитектуре (база данных и приложение на одном и том же компьютере), архитектуре клиент-сервер или в многозвенной архитектуре. Причем dbExpress сначала будет реализован для CLX, а только потом для продуктов Borland, предназначенных для работы в Windows.
  • NetCLX предоставляет компоненты для работы с основными протоколами Интернета — TCP, FTP, HTTP и возможность писать клиентские и серверные программы с использованием модулей Apache. В Kylix технология Delphi WebBroker будет расширена за счет поддержки для Apache. Это означает, что приложения для Web-сервера можно будет писать как в форме CGI, так и в форме Apache DSO.

Поскольку в CLX можно добавлять любые компоненты, ожидается появление большого числа компонентов от других компаний — производителей ПО. Существует множество Web-сайтов, распространяющих тысячи компонентов, которые можно добавить в Delphi для Windows. А после выхода в свет Kylix можно ожидать такого же изобилия новых компонентов. Поставщики утилит и компонентов для Delphi уже работают с бета-релизами Kylix, чтобы к моменту появления первой версии большинство компонентов было готово.

Использование компонентов удобно для самых различных целей. Например, можно перетащить на форму компонент для POP3-клиента, добавить виджеты для отображения иерархии папок и списков сообщений в папках и окно отображения текста. Для связи всех компонентов на форме нужно добавить обработчики событий — а это ни что иное как методы соответствующих классов. Имея в своем распоряжении все возможности объектно-ориентированного языка (Delphi или C++), можно создавать обработчики событий любой степени сложности.

Таким образом, меньше чем за день вполне реально написать небольшой, но действительно работающий почтовый клиент для Linux.

Подход RAD имеет плохую репутацию в определенных кругах именно потому, что из-за использования инструментов и компонентов часто приходится создавать приложения с весьма ограниченными возможностями. Сама концепция быстрой разработки приложений предполагает большей частью визуальное проектирование и минимальные затраты сил на написание кода. А, как известно, серьезное программирование требует прежде всего самостоятельного написания кода.

Особенно приятно в Kylix то, что компонентная модель CLX упрощает утомительный процесс создания приложений, не скрывая при этом от программиста всех возможностей языка и операционной системы. Например, если вам нужно напрямую использовать в приложении какие-либо системные вызовы, вы можете сами написать такой код.

Открытая расширяемая среда разработки

Kylix имеет расширяемую IDE; следовательно, если возможностей определенного инструмента недостаточно, разработчики могут добавлять в среду новые инструменты для разработки приложений. Например, и главное меню программы, и всплывающие меню — это компоненты. Они в свою очередь содержат компоненты пунктов меню. Редактируя сами компоненты меню, вы вряд ли добьетесь вразумительного результата, поэтому Kylix предлагает интерактивный редактор, позволяющий визуализировать процесс изменения меню. В Kylix также входят так называемые Мастера — для создания приложений баз данных, модулей Web-серверов и т.д. Открытость и расширяемость IDE позволяет компаниям — разработчикам ПО создавать дополнительные программы-Мастера, да и многие программисты сами способны написать такую программу.

Некоторые утилиты требуют знания специальных языков расширений (например, Emacs Lisp). В Kylix можно использовать привычный язык программирования. Дополняйте Delphi IDE, используя Delphi, или C++ Builder — используя C++. Кроме того, можно дополнить Delphi новым Мастером, написанным в C++ Builder, или наоборот. Таким образом, разработчики могут использовать выбранный ими язык и распространять свои продукты среди всех пользователей Kylix.


Вот несколько вариантов дополнений IDE Kylix. Вы можете добавить:

  • новые окна, например, редактор меню;
  • новые пункты в главное или всплывающие меню в редакторе программ, редакторе форм и т.д.;
  • новые кнопки в tool bars;
  • дизайнеры форм и проектов (для создания форм, проектов и других файлов по выбору пользователя).

С другой стороны, если вы любите работать с командной строкой, если вам неудобно работать с редактором форм по принципу WYSIWYG и если вы предпочитаете самостоятельно отслеживать и отлаживать ошибки переполнения буфера, то продолжайте творить в той среде, к которой вы так привыкли. Работать в Delphi вы вряд ли сможете.

И не только Delphi

Как бы ни был хорош Pascal, иногда приходится работать и на C++, поэтому в будущие релизы Kylix предполагается включить C++ Builder для Linux. C++ Builder использует ту же IDE и компонентную модель, что и Delphi, но только с синтаксисом языка C++. Таким образом, если для разработки приложений для Windows компания Borland предлагает два независимых продукта, то для Linux все сведется к единому инструментарию. Заметим, что C++ Builder не поддерживает расширения GNU, т. е. перекомпилировать ядро Linux при помощи C++ Builder не удастся.

Если вы во всем предпочитаете стандарты, C++ Builder может компилировать задачи в ISO-стандарте C++ и C. Вы можете скомпилировать любое приложение, основанное на стандартах ANSI/NISO, и, возможно, заметите, что компилятор C++ Builder для Linux работает быстрее, чем gcc или g++.

Технические особенности

Kylix изначально создавался для работы с разными дистрибутивами Linux. Без видимой разницы он может работать под управлением Red Hat, Mandrake, Caldera, Slackware или SuSE. Не играет роли для работы Kylix и графическая оболочка. Его можно установить и под KDE (рис. 1), и под GNOME (рис. 2).

Рис. 1. Kylix для KDE.
Рис. 2. Kylix для GNOME.

Однако, первый релиз скорее всего будет под KDE, так как и Kylix, и KDE используют набор графических библиотек Qt компании TrollTech.

Совместно с Trolltech фирма Borland создала компоненты графического интерфейса Kylix, не связанные с API C++, который используется в Qt. Приобретая Kylix, разработчик получает свободную лицензию на использование новых компонентов из библиотеки Qt. Эта лицензия распространяется на бесплатное, демонстрационное и коммерческое ПО, создаваемое в Kylix. Вам не придется дополнительно платить компании TrollTech за использование технологий Qt, лицензированных фирмой Borland, в отличие от ситуации, когда вы разрабатываете свои программы на базе непосредственно C++-API от Qt. Другими словами, покупая Kylix, вы получаете право разрабатывать и распространять бесплатное ПО, созданное с использованием библиотеки Qt.

Первая версия Kylix будет компилировать приложения, создавая собственный код и стандартные бинарные файлы в формате ELF. Однако эта версия будет работать только на аппаратной платформе X86. Возможно, последующие версии Kylix будут поддерживать другие платформы; не исключено, что даже можно будет увидеть Delphi и C++ для других операционных систем.

Kylix спасет мир?

Сейчас Linux сталкивается с тремя серьезными проблемами на пути к широкому распространению в качестве операционной системы для ПК. Это: сложность установки, сложность использования и малое количество ПО. Kylix вполне может помочь в решении последних двух проблем.

Почему большинство из нас использует Windows для просмотра почты, редактирования текстов и т.д.? Все просто — существует огромное количество приложений, доступных только под Windows. Одна из самых серьезных трудностей, с которой сталкиваются разработчики ПО под Linux, — это недостаток средств разработки качественных приложений.

В принципе вы можете работать в любой удобной для вас среде — будь то Tcl/tk, Python или даже Qt либо Jx, имеющие некое подобие >» Byte Россия «

Borland Kylix

Borland Kylix, первое средство быстрой разработки приложений для Linux, является, наверное, одним из самых необычных (и даже в определенной степени рискованных) проектов Borland. Проведя весной 1999 года на своем корпоративном сайте анкетный опрос разработчиков с целью оценить, насколько высок интерес к переносу основных средств разработки на платформу Linux, эта компания в сентябре того же года официально объявила о своем намерении создать Kylix — Linux-версию Delphi, своего самого популярного средства быстрой разработки приложений. И вот теперь мы можем наконец увидеть, что же из этого получилось.

Kylix представляет собой первое RAD-средство для платформы Linux (RAD — Rapid Application Development). Пользователям Delphi не составит особого труда освоить его — это средство использует тот же язык Object Pascal и практически такую же среду разработки, а также содержит похожий набор компонентов. Однако прежде чем обсуждать технические особенности Kylix, связанные главным образом со спецификой платформы, для которой он предназначен, следует понять, кому и зачем этот продукт нужен. Данная статья основана на предположении, что читателю известны основные возможности последних версий Delphi; читатели, не знакомые с ними, могут обратиться к прежним выпускам нашего журнала — статьи об этом продукте мы публикуем регулярно в течение последних шести лет.

Кому и зачем нужен Kylix

Ответ на этот вопрос не так прост, как это может показаться. Чтобы понять возможности использования продукта для той или иной платформы, следует оценить степень применения самой платформы в той или иной роли. В нашем случае речь идет о Linux, популярность которой велика во вполне определенных ролях — ее часто используют в качестве операционной системы, управляющей Web-сервером, иногда — в качестве платформы для серверной СУБД. Иными словами, в настоящее время Linux рассматривается главным образом как серверная платформа. Если ВОСПРИНИМАТЬ Linux исключительно в этой роли, RAD-средства класса Delphi можно, на первый взгляд, посчитать излишними — серверные приложения, включая расширения функциональности Web-серверов, не предназначены для применения конечными пользователями, следовательно, требования к пользовательскому интерфейсу у таких приложений минимальны.

Тем не менее использование Linux в качестве клиентской платформы, то есть платформы, на которой эксплуатируются приложения для конечного пользователя, вполне возможно — для Linux существуют графические среды, не уступающие Windows по удобству и функциональности, а в некотором отношении даже более гибкие и удобные. Тем не менее, несмотря на «бесплатность» самой операционной системы, есть, на мой взгляд, одна существенная деталь, ограничивающая сферу ее применения в качестве клиентской платформы. Дело в том, что российские пользователи, работающие на так называемых универсальных рабочих местах, где помимо собственно клиентских приложений для работы с корпоративными базами данных и иными серверными продуктами применяются и офисные приложения, вряд ли легко откажутся от ставших привычными Windows и Microsoft Office в пользу Linux и какого-либо офисного пакета для этой платформы — Corel Office не локализован, StarOffice все-таки не столь привычен и удобен (подождем, впрочем, выхода OpenOffice. ). В результате может оказаться, что, сэкономив на операционной системе и офисных приложениях, руководители IT-подразделений потратят гораздо больше средств на переучивание пользователей.

Отметим, однако, что не на всех рабочих местах требуется наличие офисных продуктов — бывает, что на рабочем месте эксплуатируется одно-единственное приложение, зато самих рабочих мест на предприятии — десятки и даже сотни. Примерами таких специализированных рабочих мест могут быть кассовые терминалы, рабочие места операционистов банка, да и многие другие приложения в самых различных областях деятельности. И вот тут-то уже применимость платформы в качестве клиентского рабочего места определяется в первую очередь наличием для нее RAD-средств и универсальных механизмов доступа к данным, а также стоимостью самой операционной системы. RAD-средство для Linux теперь есть, универсальные механизмы доступа к данным входят в его состав (какие именно, мы обсудим чуть позже), сама операционная система доступна бесплатно — или почти бесплатно. Поэтому для некоторых типов рабочих мест применение Linux в качестве клиентской платформы сегодня, после выхода Kylix, может оказаться вполне рентабельным.

Отметим также, что Delphi — достаточно универсальное средство разработки приложений, и серверные приложения (например, Web-приложения) с его помощью создавать тоже можно. Естественно, их можно создавать и с помощью Kylix — этот продукт обладает очень неплохим набором компонентов для создания расширений Web-сервера Apache, что, с учетом удобных механизмов доступа к базам данных, делает его неплохим инструментом для создания динамических Web-сайтов на базе Linux. Статью Никиты Попова «Разработка Internet-приложений с использованием Borland Delphi и Kylix» о подробностях их создания вы сможете найти в спецвыпуске этого номера журнала.

Итак, мы видим, что Kylix имеет две достаточно очевидные области применения: создание клиентских приложений для корпоративных информационных систем с целью оснащения ими специализированных рабочих мест, а также создание Web-приложений. Поэтому следует ожидать, что этот продукт займет некоторую долю рынка средств разработки. Можно предположить, что найдется определенное число компаний, которые готовы использовать Linux в качестве клиентской платформы при наличии подходящих средств быстрой разработки приложений и, следовательно, являются потенциальными пользователями Kylix. Впрочем, пока я не берусь оценивать их количество в нашей стране. Поживем — увидим.

Все сказанное выше было адресовано главным образом руководителям проектов, IT-менеджерам и иным специалистам, выбирающим платформу для клиентских приложений. Что же касается разработчиков, которым предстоит создавать приложения, то для них предназначена вторая часть статьи, где будут кратко рассмотрены основные технические возможности Kylix. Ее вы сможете найти на нашем CD-ROM.

Некоторые технические особенности Kylix

Как мы уже говорили, пользователям Delphi не составит особого труда освоить Kylix. Убедиться в этом несложно: достаточно взглянуть на среду разработки Kylix (рис. 1) — и мы увидим, что, на первый взгляд, его отличия от Delphi невелики.

Отметим, однако, что Linux и Windows — принципиально разные платформы. Мы знаем также, что в компонентах и классах Delphi Visual Component Library (VCL) использовались многие особенности, характерные только для Windows, такие как специфические для этой платформы элементы управления, очереди сообщений, COM и др. Поэтому внешнее сходство Kylix и Delphi в определенной степени обманчиво — «внутри» эти продукты все же устроены по-разному. Но поговорим обо всем по порядку.

Илон Маск рекомендует:  Faq глюки timage

Типы создаваемых приложений и поддерживаемые графические оболочки

С помощью Kylix можно создавать стандартные двоичные исполняемые файлы формата ELF (Executable and Linking Format), а также библиотеки (Shared Objects). Приложения с графическим пользовательским интерфейсом, созданные с помощью Kylix, можно выполнять под управлением графических оболочек KDE или GNOME. Можно также создавать консольные приложения, которые вызываются на выполнение из командной строки.

Библиотека классов CLX


Поскольку применение библиотеки VCL в Linux и даже ее адаптация к этой платформе не представляются возможными ввиду использования в ней многих специфических особенностей Windows, для Kylix была разработана другая библиотека классов и компонентов — CLX (Component Library for Cross-platform), являющаяся не зависимой от платформы надстройкой над библиотеками Qt.

Так как библиотека CLX не зависит от платформы, она может быть использована и в Linux, и в Windows. Поскольку в ожидаемую, шестую версию Delphi эта библиотека, наряду с уже привычной библиотекой VCL, также будет включена, станет возможным создание приложений, переносимых между двумя этими платформами, с помощью Delphi 6 или Kylix. В этом случае можно будет использовать условную компиляцию для указания модулей, требующихся для Linux- или Windows-приложения, которые должны быть включены в проект.

Модули, входящие в состав CLX, можно разбить на четыре группы:

  • BaseCLX содержит базовые классы и функции CLX, такие как функции ввода-вывода, обработки строк, обработки исключений. В частности, в BaseCLX входят модули System, SysUtils, Classes.
  • VisualCLX содержит классы, необходимые для визуальных компонентов. Эта часть CLX отличается от соответствующей части VCL, поскольку основана на других библиотеках интерфейсных элементов. В частности, в CLX визуальные компоненты являются наследниками не класса TWinControl, содержащего реализацию обработки сообщений Windows, а класса TWidgetControl, реализующего общую функциональность всех элементов управления библиотеки Qt. Компоненты и классы VisualCLX, как правило, несколько отличаются от сходных по функциональности компонентов и классов VCL — обычно у них разные списки свойств и методов; исключением здесь является класс TCanvas. Впрочем, в браузере объектов Kylix класс TWidgetControl почему-то отсутствует, зато есть класс TWinControl (рис. 2). Будем надеяться, что и все остальные погрешности в этом продукте будут столь же незначительны.
  • DataCLX содержит классы, позволяющие создавать приложения, которые используют базы данных. Эта группа модулей состоит из двух частей: библиотеки визуальных компонентов для отображения и редактирования данных и библиотеки dbExpress, предназначенной для обеспечения доступа к данным.
  • Библиотека dbExpress содержит компоненты доступа к данным и драйверы баз данных (список их зависит от того, какая редакция Kylix используется; спецификация dbExpress, разработанная Borland, является открытой). Эта библиотека не имеет отношения к BDE, традиционно использовавшейся в Delphi. Дело в том, что BDE, наследница библиотеки Paradox Engine, несмотря на наличие средств доступа к данным серверных СУБД, сохранила многие черты библиотеки доступа к настольным базам данных, ориентированной на манипуляцию данными с помощью средств файловой системы, что в ряде случаев негативно проявлялось при создании клиентских приложений для серверных СУБД. Естественно, переносить BDE на новую платформу было неразумно, и вместо этого была создана новая библиотека доступа к данным dbExpress, представляющая собой не зависящий от платформы универсальный механизм доступа к данным.

Хотя сама по себе библиотека dbExpress позволяет создать только однонаправленный курсор, в модулях DataCLX содержится класс TClientDataSet, реализующий кэширование данных на стороне клиента и организацию двунаправленной навигации внутри этого кэша.

Помимо этого DataCLX содержит компоненты для обеспечения соединения с базой данных, средство слежения за запросами — SQL monitor, а также ряд компонентов — наследников класса TDataSet, предназначенных для выбора и редактирования данных (рис. 3).

NetCLX содержит классы для создания сетевых и Web-приложений (рис. 4). В частности, в эту часть CLX входят классы для доступа к сокетам, а также компоненты WebBroker, хорошо знакомые пользователям Delphi. В этой версии Kylix поддерживается создание CGI-приложений и библиотек, являющихся расширениями для Web-сервера Apache — Dynamic Shared Objects (DSO).

Чего нет в Kylix

Как заметили многие из моих коллег, состав палитры компонентов и набор экспертов Kylix напоминают скорее первую, еще 16-разрядную версию Delphi, нежели Delphi 5. Это неудивительно — ведь в Linux нет поддержки COM, поэтому, естественно, не стоит ожидать ни соответствующих страниц в палитре компонентов (таких как ActiveX, Servers и др.), ни соответствующих экспертов в репозитарии. И тем не менее в Kylix поддерживаются данные типа Variant и интерфейсы — ведь и то и другое нужно не только для поддержки COM.

Тем не менее многие возможности среды разработки соответствуют возможностям, имеющимся в Delphi 5. В частности, практически аналогичны возможности, предоставляемые отладчиком, а также диалоговые панели опций проекта, инспектора объектов, менеджера проектов и многое другое. Отметим также, что в Kylix предусмотрены некоторые эксперты и компоненты, отсутствующие в Delphi 5, но ожидаемые в Delphi 6, в частности компоненты и драйверы dbExpress, а также набор созданных компанией Nevrona Designs компонентов INDY (Internet Direct) для разработки Web-приложений (о них мы уже писали в апрельском номере нашего журнала, рис. 5).

Кроме того, в Kylix нет других компонентов, созданных сторонними производителями, — TeeChart, QuickReport, DecisionCube, реализующих простейшую функциональность Business Intelligence. Так что проблему использования деловой графики, простейшего анализа данных и, что самое важное, подготовки и печати отчетов по базам данных придется решать отдельно. Впрочем, на рынке программного обеспечения средства Business Intelligence представлены достаточно широко и их выбор отнюдь не ограничивается продуктами для Windows, поэтому эти проблемы в принципе разрешимы (подробности об основных производителях этих средств содержатся в обзоре средств Business Intelligence, опубликованном в КомпьютерПресс № 3’2001, а также в книге «Базы данных для всех», готовящейся к выпуску издательством «КомпьютерПресс» этим летом). Кроме того, вполне возможно, что сторонние производители довольно быстро создадут компоненты или утилиты, решающие эти проблемы, — например у TurboPower Software, ведущего производителя компонентов и утилит для Delphi и C++Builder, уже существуют продукты для Kylix. И не только у TurboPower — в коробке с Kylix есть целый компакт-диск с компонентами, примерами кода, руководствами пользователя, предоставленными сторонними производителями.

Технические требования к Kylix

Для применения Kylix требуется не так уж много — 64 Мбайт оперативной памяти, Pentium-200, 175 Мбайт свободного места на жестком диске.

Отметим, однако, что Kylix можно использовать не с любой версией Linux. Если исходить из официальной информации, помещенной на сайте компании Borland, Kylix гарантированно работоспособен в Red Hat 6.2 и выше, Mandrake 7.2 и выше, SuSE 7.0 и выше. Это не значит, что его нельзя применять и в других версиях Linux, но в их отношении нет никаких гарантий. Например, в Caldera OpenLinux e-Desktop 2.4 этот продукт мне установить не удалось.

В связи с этим следует заметить, что появление продуктов такого класса, как Kylix, заставляет всерьез задуматься о том, каковы должны быть стандарты на операционные системы с открытыми исходными текстами. То, что с помощью Kylix нельзя перекомпилировать ядро Linux (Kylix предназначен вовсе не для этого!), не означает, что этого нельзя сделать в принципе — просто для этой цели используются другие компиляторы, известные всем, кто занимается написанием модулей для ядра Linux. А некорректное внесение изменений в ядро операционной системы может, по крайней мере теоретически, сделать некоторые приложения неработоспособными. Как же в этой ситуации защитить интересы создавших их разработчиков? Наверное, на сегодняшний день существует единственный способ — указать конкретные версии дистрибутивов конкретных производителей, в которых работоспособность как самого средства разработки, так и созданных с его помощью приложений будут гарантирована. Что, собственно, и было сделано.

Различные редакции Kylix

Kylix в настоящее время доступен в двух редакциях: Server Developer и Desktop Developer.

Kylix Desktop Developer содержит средства создания настольных приложений, включая приложения для работы с базами данных. Kylix Server Developer включает помимо этого средства создания Web-приложений, а также драйверы dbExpress для доступа к серверным СУБД производства Oracle и IBM DB2 (в дополнение к уже имеющимся в Desktop Developer драйверам dbExpress для Interbase и MySQL). Ожидается выпуск еще одной редакции, Kylix Open Edition, предназначенной для создания программного обеспечения, свободно распространяемого в соответствии с GNU General Public License (GPL). Эта редакция может быть доступна бесплатно на Web-сайте Borland или по относительно невысокой цене — в случае заказа ее на компакт-диске.

Подробности о различных редакциях Kylix можно найти по адресу http://www.borland.com/kylix/k1/features.html.

Несколько слов о поддержке русского языка

Поддержка русского языка является одним из важнейших вопросов применимости Linux на территории нашей страны. Известно, что сейчас широко используется несколько различных кодировок для русского языка и общепринятым стандартом для Linux является кодировка KOI-8r. Именно она и поддерживается в Kylix.

Помимо поддержки кодировки как таковой для успешного применения приложений Kylix требуется также наличие раскладки клавиатуры и клавиатурного переключателя, совместимых с Windows и не зависимых от дистрибутива Linux и графической оболочки. Подробности о настройке клавиатурного переключателя и раскладки клавиатуры, удовлетворяющей этим требованиям, можно узнать по адресу http://www.borland.ru/kylix/linux_ru.htm.

Заключение

Итак, первое RAD-средство для Linux, в создание и тестирование которого было вложено немало сил и средств, наконец поступило в продажу. Теперь мы видим, что его освоение не представляет особого труда для пользователей Delphi. Да и тем, кто ранее с Delphi не работал, думаю, освоить его будет не слишком сложно — RAD-средства такого класса и качества, как правило, не очень сложны в освоении. Остается лишь пожелать этому продукту счастливой судьбы.

Добавление Borland Kylix

Использование Borland Kylix не рекомендуется, так как этот продукт не развивается и не поддерживается. Вместо него используйте Free Pascal, хотя он и имеет ряд ошибок, из-за которых программы, нормально работающие на Kylix, не работают на Free Pascal.

Borland Kylix — это попытка фирмы Borland перенести среду разработки программ Delphi 7 в операционные системы семейства Linux. Среда разработки программ (IDE) не работоспособна в современных версиях Linux, но консольный компилятор (dcc) вполне функционален, хотя некоторые библиотеки (например, Classes) не работают.

Для использования Borland Kylix в ejudge проинсталлируйте его и добавьте в переменную PATH путь к скриптам запуска исполняемых файлов (dcc и т. д.). При инсталляции в /usr/local переменную PATH можно не модифицировать. После инсталляции Kylix выполните переконфигурирование компиляторов с помощью ejudge-configure-compilers. Компилятор dcc должен быть подключен автоматически.

Возможные ошибки и их решение

При инсталляции Kylix скорее всего не сможет найти необходимые для работы GUI библиотеки, при этом установка прервется. Чтобы ее продолжить, необходимо в файле setup.sh после объявлений функций CheckGtk, CheckJpeg, CheckX

Если при попытке скомпилировать любой файл с помощью dcc компиляция прерывается с следующей ошибкой


то следует создать файл /usr/local/etc/dcc.conf с приблизительно следующим содержимым:

Либо создать папку /usr/local/etc и переустановить Kylix.

Borland выпустила Kylix

На конец-то появилась Kylix. Цены практически заоблачные. Но будем ждать когда дадут возможность скачать.

Re: Borland выпустила Kylix

По отзывам одного из тестеров, то что он тестил было не сильно работоспособно. http://linuxnews.pl/news.html? >Хотя попробовать, конечно, охота.

Re: Borland выпустила Kylix

Re: Borland выпустила Kylix

Re: Borland выпустила Kylix

Цены нa Kylix практически заоблачные? A Цены нa Troll Tech Qt заоблачные? http://www.borland.com/about/press/2000/trolltech.html SCOTTS VALLEY, Calif. — April 27, 2000 — Troll Tech and Inprise/Borland (Nasdaq:INPR) today announced a technology licensing agreement covering Troll Tech’s Qt graphical user interface (GUI) application framework. As a result of the agreement, Inprise/Borland can leverage Qt in its forthcoming DelphiTM and C/C++ rapid application development (RAD) environment for Linux code named Kylix. Financial terms of the deal were not disclosed. At the heart of the Kylix Project, Inprise/Borland is developing a visual component library (VCL) to speed and simplify native Linux application development. This agreement permits Inprise/Borland usage of Qt to implement the underlying graphical user interface layer (GUI) of the Borland╝ Linux VCL for Kylix. As a result of this agreement, Kylix will include a license to develop GUI applications with the Qt based VCL. Inprise/Borland recently made a minority investment in Troll Tech. Dmitriy Burtsev

Re: Borland выпустила Kylix

Zachem dengi tratit Zhdite do leta kogda vypustyat besplatnuyu versiyu Kylix.

Re: Borland выпустила Kylix

Господа, сколько восторга, прямо странно.

Единственное, что сделала фирма Борланд для программистов, она их просто опустила в прямом и переносном смысле с помощью IDE, подменив редактор исходников, отладчик и средства управления проектом и версиями примитивнейшими средствами. Возможно это облегчило жизнь многим студентам, позволив им на три-четыре дня раньше написать свою первую `программу’ выполняя лабораторную работу, однако это пошло только во вред сообществу, породило ленивых и заторможенных, которые даже не представляют, что есть make и cvs. Они вместо работы с отладчиком используют printf().

Борланд необратимо повредил мозги студентам своим BGI. Да где это видано, чтобы вертикальная ось была направлена вниз? А почему тогда горизонтальная не справа налево? Где это видано, чтобы рисовать в координатах экрана или окна?

Я упомяну о дряннейшем качестве библиотек ‘языка Турбо-Си’, о низкой производительности и надежности программ, написанных с помощью продуктов Борланд, а также о скорости пресловутой турбо-компиляции и сборки проекта.

Нас ожидает с приходом Борланд то, что имеет место в DOS — плавающая арифметика, отлаженная во встроенном отладчике на пентиуме программиста, никогда не будет работать правильно в исполняемом модуле у заказчика на селероне или к6, да и на пентиуме в 70% случаев тоже.

Теперь сотни тысяч тех, кто компилил сэмплы из парадокса с минимальными изменениями и продавал их глупым коммерсантам и предпринимателям, ринутся писать для Linux. Это просто диверсия. Если что и убъет Linux, так это будет ПО, созданное с помощью средств программирования Борланд.

Re: Borland выпустила Kylix

2анонимус:
Ну не надо столь резко.
А в общем с этим мнением соглашусь.
А вот чего например мне не хватает в gcc, так это
инкрементальной линковки.
diaman

Re: Borland выпустила Kylix

2anonymous (*) (2001-03-09 18:59:53.0): «Да где это видано, чтобы вертикальная ось была направлена вниз? А почему тогда горизонтальная не справа налево?»
Обратись к руководству по графическому адаптеру и перестанешь в этом винить Борланд.

Re: Re: Borland выпустила Kylix

Ny ya pol’zuus’ otladochnoi pechat’u — IMHO, eto luchshe, chem v otladchike. Davai-ka, pootlazhivai chto-nibud’ s STLPort inim metodom — posmotrim:) Voobshe, otladchik — eto zlo. Esli dumat’ golovoi, otladochnoi pechat’u ti poimaesh bol’she i bistree, chem poka budesh’ knopki davit’. Da i ne vsegda ego (otladchik) mozhno ispol’zovat. Eto lenivie i zatormozhennie vmesto std::cout ( 10.03.01 00:31:36 )

Re: Borland выпустила Kylix

Полность согласен с предыдущими ораторами! Чем отличается программа написанная на дельфи: отвратительным дизайном и постоянно падает(не надо сваливать все на Windows). А теперь появится много «программистов» в Линуксе, которые кинув пару компонентов, считают что они написали программу не понимая как вообще это работает. Borland стал делать такое г. расчитывая на обычных пользователей.

Re: Borland выпустила Kylix

> >породило ленивых и заторможенных . . . Они вместо работы с отладчиком используют printf().

>Я упомяну о дряннейшем качестве библиотек ‘языка Турбо-Си’

библиотек ‘языка Турбо-Си’ net v kylix

>о низкой производительности и надежности программ, написанных с помощью продуктов Борланд

Ne zamechal. Mojet ruki?


>Нас ожидает с приходом Борланд то, что имеет место в DOS

Kto takoi DOS? Ne pomnu takogo.

>плавающая арифметика, отлаженная во встроенном отладчике на пентиуме программиста, никогда не будет работать правильно в исполняемом модуле у заказчика на селероне или к6, да и на пентиуме в 70% случаев тоже.

Re: Re: Borland выпустила Kylix

Re: Borland выпустила Kylix

Здесь кто-нибудь руками-то это дело щупал? А то я где-то слышал, что это поделушка уровня CorelDraw! — оно на самом деле wine использует. Кто это может прокомментировать?

Re: Borland выпустила Kylix

Для anonymus (2001-03-09 15:48:57.0) buykylix@newmail.ru
Читайте пресс-релиз внимательно. Там есть версия и за 99(!) бачков. Так что любой РИАЛЬНЫЙ девелопер вполне может позволить себе ее купить.
[alexmay]

Re: Borland выпустила Kylix

Для anonymus (2001-03-09 15:48:57.0) buykylix@newmail.ru
Читайте пресс-релиз внимательно. Там есть версия и за 99(!) бачков. Так что любой РИАЛЬНЫЙ девелопер вполне может позволить себе ее купить.
Для прочих
А «чайниковская» среда разработки для Линуха нужна была давно. В конце концев даж тупорылый юзверь способен отличить падение СОФТА от падения ОСИ. Что же касается красоты кода, то даже в Дельфях (правда года четыре в них не работал) всегда можно БЫЛО писать код РУЧКАМИ и неплохой код ;))
[alexmay]
PS. использую konqueror (от KDE 2.1) (это о HTTP_USER_AGENT). Чтож народ не пишет кто под чем ходит ;))

Re: Re: Borland выпустила Kylix

Re: Borland выпустила Kylix

GUS: А я считаю что настоящие професионалы программисты никогда неопустится до такого уровня чтобы писать серьезные программы на Дельфи или Kylix.

Re: Borland выпустила Kylix

Настоящий программист способен написать программу на чем угодно. А насчет неработоспособности программ на Delphi/TC — голова&руки.sys

Re: Borland выпустила Kylix

GUS: Ну вот если напишет на чем угодно то зачем ему еще покупать за баксы что-то если например можно пользоваться мощью бесплатных C компиляторов

Re: Borland выпустила Kylix

Вот люди пошли! Ругают современный способ — IDE (RAD -его продолжение)
Итак, что такое — программирование без ИДЕ:
1) Пишешь программу (хорошо, если подсветка есть).
В голове надо держать десятки, сотни переменных. А если человек
рассеян? (кстати, это свойственно не только и не столько простым юзерам)
Искать их?
2) Пишешь makefile или даешь сложную строку на компиляцию
3) компилишь ее.
4) Получаешь 10 экранов ошибок
5) Вспоминаешь, что прокрутка-то не работает, с трудом добываешь первую ошибку
6) исправляешь их, (ища строки) через некоторое время программа компилится
7) Пускаешь ее, получаешь Segfault (или тупой результат, что еще хуже)
8) Перекомпилишь с -ggdb (-gg)
9) Вспоминаешь синтаксис gdb (xxgdb)
10) Ничего из использования GDB не выходит
11) приступаешь к силовой отладке
12) Наконец, результат на что-то похож.

В случае наличия визуализации (а без этого в наш век никуда):
1а) «Прицеливаешься» виджетами
7а) Виджеты оказались «в небе»
7б) возвращаешся к п.1, вносишь в прогу еще десяток багов

Что касается RAD, смотрим по шагам:
1) В памяти надо держать только начало имени переменных, остальное
подскажут.
1а) Компоненты ставятся в режиме WYSIWIG
2) Нет в принципе
3) Осталось
4) Ошибки — в окне с линейкой прокрутки, автоматически переводя тебя к ним
5) Нет в принципе
6) Осталось, но проще (указание, причина — перед глазами)
7) осталось
7а) Уже давно проблемы нет! см. п. 1а
8) Автоматически
9) Встроенный отладчик имеет оконный интерфейс
10)Вероятность найти ошибку гораздо выше
11) При крайней необходимости силовая отладка возможна
12).

Вот и все! Зачем отказываться от прогресса? Не имеет смысла.
Нужно знать первый путь и с его позиций оценить второй.

Borland Kylix: основы кросс-платформенной разработки приложений

Вот наконец я и стала обладательницей заветной бело-синей коробочки с двумя дисками и тремя увесистыми томами документации внутри. Недолго думая, я отложила в сторону все сопроводительные материалы и второй диск с «продуктами третьих сторон» и стала устанавливать сам Kylix. Вопреки опасениям, программа инсталляции не стала требовать обновления многочисленных библиотек, и Kylix без проблем установился под последнюю версию Mandrake Spring 2001.

Как и ожидалось, при запуске (из меню) на экране появился знакомый любому Delphi-программисту набор инструментов. Внешне среда Kylix практически ничем не отличается от Delphi или C Builder под Windows. IDE содержит все привычные элементы рабочего пространства — главное меню, панели инструментов, Component Palette (Палитра компонентов), Object Inspector (Инспектор объектов), Code Editor (Редактор кода), Project Manager (Менеджер проекта) и Form Designer (Дизайнер форм). Хотя наличие отдельных компонентов среды зависит от версии продукта — Desktop Developer или Server Developer.

Рис. 1. Внешний вид среды Kylix.
Рис. 2. Внешний вид среды Delphi 5.
Илон Маск рекомендует:  Скрываем реферальские ссылки

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

Как и в Delphi, в Object Inspector в Kylix легко отредактировать свойства объектов и назначить обработчики событий.

Единственное, пожалуй, различие, которое тут же бросается в глаза, — в меню отсутствует пункт DataBase, а пройдясь по Component Palette, я не обнаружила многих привычных закладок — Win32, Win3.1, ADO, MIDAS, QReport… Отсутствие компонентов Win32, Win3.1 очевидно и не нуждается в комментариях, а вот что касается компонентов работы с базами данных — их количество в Kylix повергло меня в уныние. Но оно и понятно — Borland Database Engine в Kylix (и в Delphi, начиная с версии 6) полностью заменено новым, но на мой взгляд еще недостаточно развитым механизмом dbExpress, а такие механизмы, как ADO или COM, в Linux вообще отсутствуют.

С тех пор как я впервые услышала о Kylix, меня больше всего интересовал вопрос — действительно ли можно будет переносить Windows-приложения под Linux? И как это будет происходить? Поэтому первым делом, все так же не читая документации, я открыла созданный в Delphi 5 проект элементарного приложения с одной формой и несколькими кнопками. Проект благополучно открылся, но выполняться по команде RUN не стал, а компилятор выдал мне целый список ошибок. Первой ошибкой была «File not found: Forms.dcu»…

Пришлось открывать документацию и в подробностях изучать основу самой среды разработки Kylix — кросс-платформенную библиотеку CLX.

Библиотека CLX


Итак, CLX (Component Library for Cross Platform) — это вариант VCL, библиотеки визуальных компонентов Delphi и C Builder, но только разработанный без использования функций Windows API, что позволяет создавать приложения, не зависящие от ОС. Кроме того, CLX войдет и в следующие версии Delphi (начиная с 6), в дополнение к VCL.

CLX состоит из нескольких частей.

  • BaseCLX содержит ядро компонентной модели. Сюда входят такие элементы, как функции работы со строками, ввод-вывод, функции работы с датой и временем, работа с файлами, обработка исключений.
  • VisualCLX использует Qt, набор библиотек для создания графических интерфейсов от компании TrollTech. Эта часть кросс-платформенной библиотеки включает в себя основную массу визуальных компонентов из VCL.
  • DataCLX использует dbExpress — новый механизм Borland для работы с различными SQL базами данных, включая Interbase и MySQL. DataCLX можно использовать в однозвенной архитектуре (база данных и приложение на одном и том же компьютере), архитектуре клиент-сервер или в многозвенной архитектуре.
  • NetCLX предоставляет компоненты для работы с основными протоколами Интернета- TCP, FTP, HTTP и возможность писать клиентские и серверные программы с использованием модулей Apache. В Kylix технология Delphi WebBroker будет расширена поддержкой Apache. Это означает, что приложения для Web-сервера можно будет писать как в форме CGI, так и в форме Apache-модулей DSO.

Аналогично тому, как функции VCL обеспечивали доступ к графическим элементам управления Windows (кнопки, формы, окна и т.д.), CLX предоставляет доступ к виджетам из библиотек Qt. Но здесь есть свои особенности, связанные с реализацией самих библиотек Qt. В Kylix иначе организована работа с событиями и методами классов.

Визуальные компоненты CLX имеют свойство Handle — указатель на соответствующий виджет библиотек Qt. Через Handle осуществляется доступ к методам и свойствам класса данного виджета. Если вы явно (методом Create) или неявно (перетаскиванием компонента на форму) создаете объект CLX, то автоматически создается экземпляр соответствующего виджета. Создаваемый объект CLX будет владельцем этого экземпляра виджета. При уничтожении объекта созданный экземпляр виджета также удаляется. Если же вы явно создаете CLX-объект, используя метод объекта Create(AHandle), экземпляр соответствующего виджета передается в создаваемый объект. В этом случае CLX-объект не будет владельцем экземпляра виджета. И следовательно, при вызове метода Free уничтожается только CLX-объект. Это одно из отличий Kylix от Delphi в работе с объектами.

Отношения CLX и Qt API сродни отношениям VCL и функциям Windows API. Для того чтобы сопоставить классы CLX и виджеты Qt, был разработан промежуточный уровень между библиотекой компонентов и Qt API — CLXDisplay.

Некоторые компоненты VisualCLX просто инкапсулируют в себя классы Qt. Так, например, в библиотеках Qt есть класс Qbutton, который представляет виджет «кнопка». VisualCLX полностью инкапсулирует этот класс, создавая компонент Tbutton, и добавляет в него необходимые свойства, методы и события.

Другие компоненты представляют собой уже собственные классы CLX, написанные на базе VisualCLX и CLXDisplay.

Что касается общей иерархии классов CLX, то здесь дело обстоит следующим образом. Большинство компонентов сохранили свои имена и свойства. Основные различия в иерархиях объектов CLX и VCL видны из схем на рис. 3 и 4.

Рис. 3. Иерархия основных классов CLX.
Рис. 4. Иерархия основных классов VCL.

Хотя многие классы остались неизменными, как видно из схем, в связи с заменой элементов управления Windows на виджеты библиотек Qt класс TWinControl, например, теперь называется TWidgetControl. Аналогично изменились и названия других классов, описывающих в основном визуальные компоненты.

Однако, несмотря на эти изменения, нет необходимости менять типы в объявлениях переменных. В файле QControls.pas, например, содержится декларация

позволяющая значительно упростить использование одних и тех же исходных файлов как для Windows=, так и для Linux-приложений.

Что касается имен модулей, в которых хранятся описания классов, здесь тоже кое-что изменилось. При компиляции в Kylix проектов уже существующих Windows-приложений вам придется вручную изменять имена некоторых модулей или убирать ссылки на несуществующие в Kylix модули.

Вот какие изменения произошли с модулями.

  • К названиям модулей, содержащих описания визуальных компонентов, написанных с использованием библиотек Qt (вместо функций Windows API), прибавлена буква Q. Например, QButtons.pas, QControls.pas, QForms.pas (вот почему компилятор не мог найти dcu-файл для объявленного мной в разделе uses модуля Forms).
  • Некоторые Windows-модули не были включены в Kylix в связи с тем, что в Linux отсутствуют такие механизмы, как ADO, COM и BDE.
  • И наконец, в Kylix появились два новых модуля — DirSel и QStyle, соответственно для работы со структурой каталогов и стилями приложений.

Особенности приложений, созданных в Kylix

Работа как приложений в целом, так и отдельных графических элементов, созданных в Kylix, имеет некоторые особенности.

Внешний вид. Графическая среда Linux отличается от Windows, поэтому внешний вид окон программ и диалогов, созданных в Kylix, будет различным в зависимости от того, какую оболочку вы используете — KDE или Gnome.

Стили (Styles). У класса TApplication появилось новое свойство — Style, аналогичное свойству OwnerDraw некоторых объектов (которое позволяет задавать внешний вид компонентов). Это свойство позволяет задать внешний вид графических элементов приложения.

Работа с конфигурационными файлами. В Linux информация о конфигурации системы хранится не в реестре, а в текстовых файлах и переменных среды. Файлы системной конфигурации расположены в директории /etc. Для работы с этими файлами предназначен компонент TmemIniFile, а не TregIniFile, как это было в Delphi для Windows.

Работа приложений. У Kylix есть ряд отличий, влияющих на работу создаваемых приложений.

  • ToggleButton — кнопка-переключатель, «утопленная кнопка», не переключается при нажатии клавиши Enter. Нажатие Enter не эквивалентно щелчку мыши, как это было в Delphi.
  • В компоненте TColorDialog отсутствует свойство TColorDialog.Options. Более того, вы не сможете изменять по желанию внешний вид и работу диалога выбора цвета. Кроме того, форма TColordialog не всегда выступает как модальное окно. Вы можете работать со строкой заголовка всего приложения (минимизировать, разворачивать, перемещать окно), в то время как активным остается модальный диалог.
  • В ходе работы программы в Kylix выпадающие списки (ComboBox) работают иначе, чем в Delphi. В Kylix существует возможность поместить в поле ввода некоторый текст и нажатием клавиши Enter добавить его в выпадающий список. Кроме того, в список можно добавлять пустые значения. А если вы передвигаетесь по выпадающему списку с помощью стрелки «вниз», то курсор не остановится на последней строке, а перейдет автоматически в начало списка.
  • При обработке событий OnKeyDown или OnKeyUp приходится проверять код нажатой клавиши. В Windows код клавиши Enter — 13, а в Linux — 4100.

И теперь, чтобы закончить историю с переносом под Linux простейшего приложения, скажу, что мне пришлось лишь исправить в разделе uses названия некоторых модулей и удалить ссылки на модули, которые Kylix не поддерживает. После этого приложение скомпилировалось и выполнилось без ошибок.

Проблемы переноса

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

Чувствительность к регистру. В Linux, в отличие от Windows, заглавные и строчные буквы различаются. Это значит, что ABC.txt и abc.txt — два разных файла, тогда как Windows воспримет оба варианта как обращение к одному и тому же файлу.

Символ окончания строки. В Windows признаком конца строки служит комбинация символов CR/LF (ASCII 13 + 10), а в Linux — только LF.


Символ конца файла. В DOS и Windows символ со значением #26 (Ctrl-Z) считается признаком конца файла, даже если после этого символа идут какие-то данные. В Linux нет специального символа, указывающего на конец файла.

Пакетные файлы/скрипты. В Linux существует некий эквивалент BAT-файлов. Скрипты представляют собой текстовые файлы, содержащие инструкции. Язык этих скриптов зависит от используемой оболочки. Файлы скриптов сохраняются как исполнимые при помощи команды

Комментарии к статье

Рекламные ссылки

Chloride
Демонстрация Chloride Trinergy
Впервые в России компания Chloride Rus провела демонстрацию системы бесперебойного электропитания Chloride Trinergy®, а также ИБП Chloride 80-NET™, NXC и NX для своих партнеров и заказчиков.

NEC Нева Коммуникационные Системы
Завершена реорганизация двух дочерних предприятий NEC Corporation в России
С 1 декабря 2010 года Генеральным директором ЗАО «NEC Нева Коммуникационные Системы» назначен Раймонд Армес, занимавший ранее пост Президента Shyam …

компания «Гротек»
С 17 по 19 ноября 2010 в Москве, в КВЦ «Сокольники», состоялась VII Международная выставка InfoSecurity Russia. StorageExpo. Documation’2010.
Новейшие решения защиты информации, хранения данных и документооборота и защиты персональных данных представили 104 организации. 4 019 руководителей …

МФУ Panasonic DP-MB545RU с возможностью печати в формате А3
Хотите повысить эффективность работы в офисе? Вам поможет новое МФУ #Panasonic DP-MB545RU. Устройство осуществляет

Adaptec by PMC
RAID-контроллеры Adaptec Series 5Z с безбатарейной защитой кэша
Опытные сетевые администраторы знают, что задействование в работе кэш-памяти RAID-контроллера дает серьезные преимущества в производительности …

Chloride
Трехфазный ИБП Chloride от 200 до 1200 кВт: Trinergy
Trinergy — новое решение на рынке ИБП, впервые с динамическим режимом работы, масштабируемостью до 9.6 МВт и КПД до 99%. Уникальное сочетание …

Внимание: Kylix

Ценность Kylix для разработчиков — в простоте разработки и более высокой производительности
Как только Kylix начинает работать, он предлагает несколько окон, в том числе инструментальную панель Project, модуль проектирования форм и Explorer Window

Корпорация Borland выпустила Kylix, собственную версию Delphi для среды ОС Linux. Полнофункциональная среда быстрой разработки приложений обеспечивается за счет пакета QT, включающего средства разработки ПО графических пользовательских интерфейсов и языка Object Pascal. Широкое обсуждение в прессе сделало Kylix одним из самых долгожданных программных продуктов ушедшего года для Linux.

Kylix заинтересовал меня по ряду причин. Хотя я и не занимаюсь разработкой программного обеспечения под Windows, я готов подписаться под всеми изъявлениями восторга по поводу самой идеи простой кросс-платформенной разработки под Windows. Первым созданным мною приложением была программа в среде dBase 4, предназначенная для обработки индивидуальных заказов книжного магазина. Я сталкивался с Microsoft Windows только когда вынужден был воспользоваться QuickBooks и предоставлять поддержку покупателям с унаследованными системами. В нашем офисе используется Linux, и только Linux. Даже на iMac работает бета-версия YellowDog Linux 2.0. Шумиха, развернутая вокруг Kylix, побудила меня с ним ознакомиться.

Установка

Вскрыв коробку, я вспомнил, почему мне действительно нравится Borland. Из-за его документации. Когда несколько лет назад я писал свое первое приложение для базы данных, я программировал исключительно с помощью руководства Borland, поставляемого с Dbase. Мне не понадобились никакие дополнительные материалы. Такое впечатление, что Borland сохранил эту традицию и в отношении Kylix, который включает в себя Developers Guide, Quick Start и Language Guide.

Инсталляция Kylix потребовала таких же усилий, как нажатие кнопки Reset на зависшей машине с Windows. Для его установки достаточно вставить компакт-диск в дисковод и запустить setup.sh. Kylix инсталлирует свои собственные библиотеки. Другими словами, он создает полностью автономную среду, в которой затем и работает.

После инсталляции Kylix предлагает сценарий, называемый startkylix, который устанавливает корректные переменные среды. В первый раз, когда вы запускаете Kylix с помощью сценария startkylix, на экране появляется окно с сообщением «Генерация матрицы шрифтов. Подождите, пожалуйста. ». Искушенные пользователи, скорее всего, воскликнут: «Осторожно! Опасность!»

Да, Kylix использует WINE, прекрасную реализацию Win32 API для Linux. Это значит, что WINE позволяет производителям намного проще переносить свои Windows-приложения на Linux. Однако WINE пока не закончен, и, вполне возможно, так и не будет закончен из-за того, что API-интерфейсы все время меняются.

Кое-кто может возразить, что Kylix должен был стать оригинальным Linux-приложением. Да, это так. Компания Borland использовала WINE для переноса некоторых ориентированных на Win32 функций с Windows на Linux. При этом Kylix позволяет компилировать оригинальные двоичные модули Object Pascal для Linux. Мой особый интерес к Kylix пробудил RAD-инструментарий. Kylix открыл для меня новый мир. Мне давно хотелось заняться графическим программированием, но никак не удавалось найти среду, которая меня бы устроила. Kylix решил эту проблему.

Работа с Kylix

Как только Kylix начинает работать, он предлагает несколько окон, в том числе инструментальную панель Project, Object Inspector, модуль проектирования форм и Explorer Window.

Инструментальная панель Project предоставляет навигационную структуру для любой операции, которую вы бы хотели выполнить в Kylix. Она содержит стандартные пункты меню, такие как file и edit, а также ваши компоненты для дизайнера форм.

Object Inspector содержит свойства каждого объекта из программы, которую вы разрабатываете. Не имеет значения, редактируете ли вы глобальные свойства формы или событийные характеристики клавиши. Если у объекта есть свойства высшего уровня, вы редактируете их в Object Inspector.

Form Designer на самом деле не что иное, как конструктор экранов. Он представляется в виде открытого поля с заголовком Form 1, расположенным под Project Tool Bar. Конструктор Form Designer позволяет быстро создавать презентабельные экраны или формы. Вы можете использовать стандартные операции буксировки объектов для создания необходимых изображений. На рис. 1 показан проектировщик форм с двумя объектами, которые размещаются внутри формы.

Как можно видеть на рис. 1, я ввел текст: FirstName и поле для ввода данных Теперь начинается самое интересное. Шрифт по умолчанию — Helvetica с кеглем 12. Если передвинуть мышь на Object Inspector, то можно выбрать Font и получить все значения для объекта. В качестве примера я изменил цвет шрифта с черного на серо-белый и гарнитуру с Helvetica на Utopia. Я заметил, что гарнитура для Utopia в кегле 12 выглядит не очень красиво, и изменил размер на 18. Результат моих действий можно увидеть на рис. 2.

Теперь мне показалось, что оливковый фон не очень хорошо подходит для шрифта серо-белого цвета. Чтобы изменить фон на черный, я указал на фон в форме и выбрал пункт Color в Object Inspector.

Пример, приведенный выше, очень прост, но он иллюстрирует мощные возможности Kylix. На все эти операции потребовалось три минуты и несколько щелчков клавишей мыши. Ниже я привожу код.

Этот код извлекает параметры объекта из файла xfm. Далее представлено содержимое файла xfm.

Добавление событий

Не знаю как вам, а мне явно потребуется больше трех минут, чтобы все это написать. Так что я создал быструю форму, которая ничего не делает. Давайте посмотрим, что произойдет с кодом, если я выполню событие. Во-первых, я собираюсь создать клавишу в консрукторе форм. Поскольку это первая клавиша, по умолчанию она будет называться Button1. Прежде всего я изменю название на Submit. Следующий шаг — присвоить событие объекту клавиши. Чтобы присвоить событие, выберите Events в Object Inspector.

Первое событие в Object Inspector — это OnClick. Чтобы использовать OnClick, наберите имя процедуры, которое должно вызваться по нажатию клавиши. В нашем примере я назвал процедуру colorChange. По нажатию на клавишу Submit изменится цвет объектов. Здесь следует отметить одну особенность. Если я нажимаю Enter в поле события OnClick при открытом окне Explorer, Kylix автоматически помещает курсор в область кода процедуры colorChange.

Я определил событие процедуры. Чтобы использовать это событие, я должен набрать реальный код, но прежде чем сделать это, я бы хотел показать вам, как форма выглядит после компиляции.


Клавиша Submit пока ничего не делает, но если я добавлю следующий фрагмент кода, где Explorer разместил мою процедуру colorChange, то это будет выглядеть следующим образом.

Форма отобразит результаты на рис. 4.

На создание кода в этом проекте у меня ушло менее 10 минут. Конечно, это проект, в котором далеко не 40 тыс. строк, но этот простой пример показывает, в чем принципиальная ценность Kylix для разработчиков. А именно: простая разработка и более высокая производительность.

Резюме

В первый раз, когда я запустил Kylix, произошел сбой. Я думаю, что это было случайное обращение по некорректному адресу. Я загрузил Kylix на свой мобильный компьютер, и там возникла такая же ошибка. Второй раз, когда я запустил Kylix, он заработал без проблем.

Первый сбой заставил меня подумать о том, готов ли Kylix к массовому распространению. Использование WINE в других проектах не всегда приводило к успеху (вспомните WordPerfect). Однако за исключением небольшой задержки в некоторых задачах, я не заметил ничего, что заставило бы меня отказаться от использования Kylix в крупных проектах разработки.

В общем, Kylix меня не разочаровал. Да, использование WINE может заставить вас задуматься о стабильности, но, похоже, Borland подготовила неплохую реализацию. По мере совершенствования Kylix и по мере того, как все больше программистов Windows Delphi решат расширять свои рынки, Kylix будет становиться все более мощной силой для Linux.

Поделитесь материалом с коллегами и друзьями

Иллюстрированный самоучитель по Kylix

Для операционной системы Linux долгое время не было достаточно простой среды быстрой разработки приложений. Многие программисты, которые успешно создают программы для Windows, используют среду Borland Delphi. В нашей стране Delphi пользуется особой популярностью как среди начинающих разработчиков, так и среди профессионалов. Многие из них готовы создавать программы для среды Linux, но не было среды, похожей на Delphi. Наконец, летом 2001 года фирма Borland выпустила среду для быстрой разработки приложений в среде Linux и назвала ее Kylix (Kylix — это античная винная чаша, расписанная с внешней и внутренней стороны). На первый взгляд, эта среда — практически копия Delphi, но есть некоторые отличия. Причем эти отличия являются довольно опасными, т. к. одна и та же команда в Delphi и Kylix может привести к совершенно разным последствиям. Данная книга представляет собой краткий обзор среды Kylix версии Kylix Server Developer. С помощью нее вы узнаете особенности среды Kylix и ее отличия от Delphi. Кроме того, заключительная часть книги расскажет вам о методах переноса приложений из Delphi в Kylix и создании межплатформенных приложений.

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

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

Инсталляция библиотеки FLTK

Пытаюсь установить библиотеку fltk, так как написано в учебнике Страуструпа.
Но в итоге
========== Построение: успешно: 1, с ошибками: 68, без изменений: 2, пропущено: 0 ==========

сплошные сбои. причем количество успешных может меняться, но не сильно.

Илон Маск рекомендует:  Что такое код error_log

Как сказано, нужно искать файл (fltk.dsw), но в тех папках (vc2005 и vcnet), где предлагается искать, лежат (fltk.sln).
Но fltk.dsw в папках (vc2005 и vcnet) нет, он лежит в папке (visualc). Его тоже пробовал, результат такой же.
В папке lib (куда распаковывал архив fltk) из-за ошибок появляются только 2-3 библиотеки (указано в книге, что должно быть их 7 штук).
Пробовал качать как 1.1.10, так и 1.3.0. Результат один и тот же.

ошибок полно, в основном что-то вроде

>cube.obj : error LNK2001: неразрешенный внешний символ
>LINK : fatal error LNK1104: не удается открыть файл «fltkd.lib»
>c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(62): error C3861: floor: идентификатор не найден

и т.д.

Естественно, потом код самой программы не компилируется, жалуется на «неразрешенный внешний символ».
Подскажите, как правильно установить эту библиотеку, делаю все как в книге, а результат вот какой.
Заранее благодарю.

Инструкция на скриншоте
Тупик на 2 пункте

01.08.2012, 21:15

Бьерн Страуструп. Инсталляция библиотеки FLTK
Всем доброго времени суток. Помогите пожалуйста решить проблему. Хочу сразу оговориться, что.

Инсталяция библиотеки FLTK
В книге чтобы инсталировать, открыть файл fltk.dsw, а в каталоге нет файлов такого формата, все.

Ошибки линковки библиотеки FLTK
Добрые сутки, на данный момент я изучаю FLTK По исключительной ситуации я ничего не могу понять.

FLTK
Добрый день, подскажите начинающему, как мне установить (использовать) библиотеку fltk в среде.

Fltk fluid
Всем привет, кто работал с fltk? Как им пользоваться я не понимаю.. Запускаю fltk.exe, делаю форму.

02.08.2012, 00:16 2

Про компиляцию библиотек забудьте.

Добавлено через 11 минут
Если что в папке lib есть еще библиотеки.

Borland kylix инсталляция и первое знакомство

Проблема наличия или отсутствия пользовательских программ часто мешает повсеместному распространению Linux. С другой стороны, делать приложения «for Linux only» не всегда целесообразно, потому что Windows, да и другие «оси», еще никто не отменял.

Желательно получить приложение, которое «если что» можно выпустить в версии для нескольких ОС, получая в результате простор для маневра. Вариантов для этого несколько:

  • использовать Delphi и Kylix. Если проект уже разработан на Delphi — и особенно с использованием переносимых компонент — то задача еще более упрощается. Полученное приложение может работать на обеих платформах, или говоря более сложным языком — в гетерогенных средах. У Kylix есть несколько преимуществ перед остальными вариантами: мощный оптимизированный код, знакомый многим разработчикам интерфейс, доступность самой системы. К недостаткам можно отнести ограниченный ареал применения — только на системах Linux с определенным набором библиотек, хотя распространение Kylix это только вопрос времени;
  • использовать Java и, например, ONE Studio, на «обеих трех» платформах. Это тоже очень хороший вариант: приложения не потребуют перекомпиляции, доставку можно осуществлять по интернету, да еще и не одним способом. Единственный drawback — это определенные требования, предъявляемые к системам разработки и выполнения, в частности к объему памяти и к пропускной способности сети;
  • вариант номер три — использовать характерные для Unix средства разработки, делая пользовательский интерфейс на Tk/Tcl и/или courses. В качестве языка написания логики удобно использовать perl, Python или, если вам так проще,- C. Это во многом героический путь, поскольку инструменты разработки таких программ не отличаются интуитивной понятностью — например, на изучение Emacs может уйти полгода. Зато полученный код будет самым «честным» и легко переносимым на все открытые платформы;
  • сравнительно сложный, хоть и самый универсальный путь — создание полнометражного веб-приложения, например, на perl или PHP. Это потребует некоторых условий, таких как наличие собственного (виртуального) сервера с широкими полномочиями — зато такое приложение будет совершенно нейтрально к среде выполнения. Говоря по правде, это решение совсем несправедливо занимает предпоследнее место — просто это отдельный разговор, не совсем касающийся того, о чем я собираюсь рассказать;
  • пятый путь — запускать приложения в режиме эмуляции ОС. Эта тема будет рассмотрена в данном номере. Из числа универсальных виртуальных машин выделяются VMWare и VirtualPC. Большой недостаток всех этих эмуляторов — проблемы совместимости и, кроме того, падение производительности (примерно вдвое). Ко всему прочему, такие методы, по сути, не относится к методам кроссплатформенной разработки.


В дальнейшем мы рассмотрим Kylix с, так сказать, гуманитарной точки зрения. Подразумевается, что я не ставлю себе цели научить вас программировать — и, тем более, не собираюсь описывать пункты меню. Моя задача — показать вам, что в той или иной среде разработки может оказаться полезным и как с минимальным дискомфортом установить инструмент на свой компьютер. Остальное, как говорится, RTFM.

Kylix

Kylix — революционная для своего времени Delphi-подобная среда разработки для Linux и других систем, поддерживающих бинарные форматы Linux. Kylix совмещает в себе визуальные и текстовые возможности разработки приложений — так, как это принято в современных инструментах — и позволяет создавать приложения с графическим интерфейсом для Linux в сжатые сроки.

При ближайшем рассмотрении современный Kylix в третьей инкарнации содержит в себе две оболочки IDE: для разработки приложений на языке, который Borland именует «языком Delphi» и который известен также как объектный Паскаль. Кроме того, в Kylix можно разрабатывать программы на С++ в оболочке, воспроизводящей CBuilder. Следует признать, что работа по переносу стиля и ощущения Delphi/CBuilder была проделана немалая — с первого взгляда отличить Kylix от Delphi практически невозможно (не считая KDE widgets).

Построение переносимого кода

В основе переносимого кода Delphi-Kylix лежит независимый от платформы формат модулей и архитектура CLX. Последнее обозначает Borland Component Library for Cross-Platform. В результате компиляции строятся файлы в естественном для Linux формате ELF, а также в формате общих библиотек.so. Как и Delphi, Kylix использует прямую компиляцию в процессорные команды, то есть скорость приложений сопоставима с кодом на С++.

Как и в случае с Delphi, разработчик может (в ущерб переносимости) использовать системные функции, а также вызовы Linux API и других специфичных для платформы библиотек. Если вы разрабатываете компонент CLX, используя вызовы низкого уровня, и хотите сделать его универсальным,- можете использовать условную компиляцию, проверяя, определены ли символы LINUX и WIN32 соответственно c помощью предложения $IFDEF/#ifdef. Для абсолютных экстремалов по-прежнему существует возможность писать фрагменты кода на inline-ассемблере.

Для того чтобы писать переносимый код, предназначенный для обоих платформ, не следует использовать другие (кроме изоляции системных вызовов) особенности платформы: реестр Windows, вызовы оконных функций SendMessage и PostMessage и т.п. Не следует также забывать, что в Linux имена файлов и каталогов всегда учитывают регистр, так что следует обратить внимание на их правильное написание, в случаях когда имена задаются литерально.

Доступ к базам данных

Если под Windows возможно несколько методов доступа к базам данных, то для Linux единственным методом является прямое подключение к SQL-серверу через прилагаемый драйвер. Из компонентов доступа «на выбор» только dbExpress, через который поддерживаются распространенные базы данных: DB2, Informix, Interbase, MySQL, Oracle и PostgreSQL.

Фактически dbExpress — это очень тонкий и прозрачный уровень, непосредственно переводящий запросы в сервер. При запросах к базам данных dbExpress порождает локальные копии данных, освобождая сеанс с сервером. В процессе запроса предусмотрены трансформации данных, вычисляемые поля и запросы с параметрами. После запроса пользователь работает с полученной копией данных, внося изменения в удаленные таблицы в режиме пакетных транзакций. Для оптимизации трафика применяются режимы групповой пересылки обновлений, а также отложенная загрузка BLOB-объектов.

После получения локального набора данных значения столбцов поступают в привязанные к данным элементы управления по упрощенной схеме. То есть исключаются дополнительные передачи данных, как происходит в случае ODBC или ADO. Такой подход поощряет делать клиентскую часть приложений «тонкой», перенося бизнес-логику в хранимые процедуры на сервер баз данных. Это, в свою очередь, делает приложения эффективнее, снижает трафик и делает уровень бизнес-логики независимым от платформы.

Дополнительно к внешним источникам данных в Kylix входит персональная, основанная на XML база данных — MyBase. Таблицы этой БД хранятся полностью в памяти, поскольку она рассчитана на молниеносную производительность. Код поддержки MyBase встраивается в сам откомпилированный модуль и занимает около 300 Кб, так что не требует ни отдельных файлов, ни отдельной инсталляции. Тем не менее, эта «детка» понимает синтаксис SQL 92, сложные отношения между таблицами, декларативную целостность, триггеры и так далее. Полезной окажется также и возможность непосредственного создания таблиц MyBase как результата запроса к внешним данным.

Сетевые возможности

Встроенные в Kylix протоколы интернета широко и исчерпывающе представлены палитрами компонент Indy, которые названы так в честь независимых разработчиков. Палитр, ни много ни мало, целых пять:

  • Clients. С TCP, UDP, HTTP, POP3, SMTP все ясно. Не поленились реализовать также и, например, Gopher и IRC. Для приверженцев командной строки существуют telnet, rsh и rexec — так что опытный администратор может построить исключительно удобные для него инструменты удаленного администрирования;
  • Servers. Реализованы практически все распространенные в Сети серверы. На этой же палитре в наличии также два полезных компонента для построения туннельных подсетей — Tunnel Master и Tunnel Slave;
  • Misc. В эту категорию попали различные кодировщики, например MIME и UUEncode,- так же как и ряд дополнительных компонентов. Несколько компонентов упрощают организацию многопоточного выполнения, характерного для асинхронных сетевых запросов;
  • Intercepts. Перехватчики трафика, или фильтры, созданы для «навешивания» кода на другие протоколы с целью ведения журналов отладки, для кодирования-декодирования и сжатия трафика «на лету»;
  • IO Handlers. Смысл всех этих компонент — заменить чтение сокетов на более привычный асинхронный поточный ввод-вывод. Весьма полезным и интересным компонентом является ограничитель пропускной способности — на его основе можно строить качественные и надежные приложения.

Веб-программирование представлено двумя поколениями инструментов. Во-первых, это компоненты палитры Internet, представляющие традиционный для Delphi набор WebDispatcher + PageProducer. Несколько сложная на практике технология — в частности, из-за отсутствия встроенного визуального редактора шаблонов. В Kylix, что естественно, сервер приложений взаимодействует с сервером Apache. Хорошей новостью является тот факт, что такое приложение, перенесенное в среду Windows, станет работать и с Apache для Windows.

Второй подход к веб-программированию — компоненты, представленные на WebSnap.

BizSnap, WebSnap, DataSnap

Эти технологии напрямую связаны с такими вещами, как XML, SOAP и веб-сервисы. Несмотря на довольно прихотливую терминологию и наличие нескольких трудных мест, в основе веб-сервисов лежит несколько простых принципов: для представления данных и удаленных команд используется протокол HTTP, поверх которого передаются специально оформленные в формате SOAP блоки XML данных. Подобно тому как класс ActiveX или JavaBean способен самостоятельно перечислять свои методы и тип их параметров, точно так же Web Services, установленные на сервере, могут быть исследованы с помощью протокола WSDL. Таким же образом в виде XML организованы вызовы и возврат значений удаленных объектов в модели CORBA. Частным, но исключительно важным типом передаваемых в XML данных являются таблицы как результат запросов к СУБД — фактически многие SQL-серверы представляют результаты запросов именно в этом виде.

Из-за обширности темы на этом я и закончу, а всех, кто интересуется данными технологиями, отсылаю к документации по Snap’ам.

Инсталляция

Официальные требования к целевой платформе разработки следующие:

  • Intel Pentium II/500 МГц;
  • 256 Мб RAM (обратите на этот параметр особое внимание!);
  • CD-ROM;
  • SVGA;
  • мышь;
  • место на диске:
    -250 Мб Open Ed.,
    -350 Мб Pro Ed.,
    -500 Мб Enterprise Ed.

Система тестировалась на таких дистрибутивах:

  • Red Hat® Linux 7.2;
  • Mandrake™ 8.2;
  • SuSE® Linux 7.3.

Впрочем, вы можете установить Kylix практически на любой дистрибутив Linux и BSD, однако в некоторых случаях придется проделать установку библиотек и настройку путей вручную. Перед установкой системы можно убедиться, что ваш дистрибутив Linux удовлетворяет требованиям Kylix’а, а именно:

  • некоторые версии загрузчика libc могут привести к нарушению данных при загрузке и выгрузке общих объектов, в результате чего возникают ошибки сегментации в совсем других программах. Kylix тоже подвержен этой «болезни» и не станет инсталлироваться, если установлена эта версия libc. Эта проблема решена в libc 2.2 или в патче к 1.2.1;
  • Kylix и полученные приложения требуют glibc версии 1.2.1 или более поздней, ядро версии, как минимум, 2.2 и библиотеку libjpeg 6.2.


Все современные дистрибутивы Linux удовлетворяют этим условиям, но часто указанные библиотеки скрываются под различными типами инсталляции. Например, ASP Linux 7.3, установленный в режиме «экспресс-инсталляция», не обладает всеми необходимыми компонентами, и инсталляция вылетит с кодом ошибки 10. С другой стороны, Red Hat 7.1, установленный в режиме Workstation, не вызывает никаких проблем с Kylix.

Для проверки валидности вашей системы существует специальная утилита — borpretest — расположенная в одноименном каталоге на дистрибутивном диске. Для выполнения всех проверок в автоматическом режиме запустите командный файл /mnt /cdrom /borpretest /testsystem. Это не даст 100-процентной гарантии: на том же ASP данный тест выдает Looks Good, но инсталляция не завершается. Так что на тест надейся, но если что — придется устанавливать недостающие пакеты вручную.

В положительном случае вы увидите сообщения, подобные тем, что показаны на рисунке.

Если borpretest обнаружит какие-то проблемы, то с вопросом о том, как их решить, обращайтесь к файлу /mnt /cdrom /PREINSTALL. После проверки системы (или без таковой) запускаете /mnt /cdrom /setup.sh. Инсталляция предлагает на выбор несколько типичных опций (вроде путей инсталляции и устанавливаемых компонент) — но в основном отличается исключительной прямолинейностью. Фактически все сводится к тому, чтобы трижды ответить Ok.

Важное замечание: вы можете инсталлировать Kylix под административным (root) или пользовательским аккаунтом. В первом случае файлы приложения будут размещены в каталоге /usr /local /kylix3, причем примеры попадут только к вам в домашний каталог — и чтобы сделать их доступными другим, вам придется или скопировать, или назначить пользователям доступ к этим файлам в режиме чтения. Если Kylix устанавливается обычным пользователем, то все файлы, и программы и данные попадут в подкаталог домашнего каталога.

Вместе с Kylix’ом на диске (в каталоге /dev/cdrom/jre) находится также и инсталляция Java RunTime версии 1.3.1. Это пакет rpm.bin, предназначенный для установки через командный процессор sh. Обратите внимание: на самом пакете не установлен флаг исполнения, поэтому запустить установку с лазерного диска вы не сможете. Для инсталляции Java вам понадобится скопировать его куда-то:

Документация как основа успеха

Вопрос успешности того или иного продукта часто зависит от наличия доступной и удобной документации. Признаюсь откровенно: документация по Delphi очень долгое время была для меня главным источником информации по многим аспектам Windows. Думаю, многие скажут то же самое. Замечательный Delphi Help содержит в себе исчерпывающую и доступную информацию не только по Паскалю, но также и по Win API, Win32 и технологии OLE/COM. Вполне естественно было ожидать такого же качества и от Kylix. Понятно, что вы не найдете здесь описания Win32, но зато представлены сведения о доступных разработчику средствах из арсенала Linux — libc, XFree и, конечно, полные сведения о компонентах CLX. Справка Kylix Help выполнена в формате HyperHelp и внешне больше похожа на справку в Windows 3.11, но поскольку оглавление и поиск в наличии — то это не вызывает никаких неудобств.

Чего бы еще пожелать?

Создание моих первых приложений в Kylix прошло без проблем и неожиданностей. Камнем преткновения при создании реального приложения стало отсутствие современных средств для визуальной разработки и отладки отчетов и шаблонов веб-страниц. Было бы прекрасно создать такой инструмент — причем сделать его полиморфным для генерации как HTML-шаблонов, так и отчетов в распространенных форматах PDF, PostScript, TeX.

Другим крайне полезным инструментом мог бы стать интегрированный UML-редактор со встроенной поддержкой отображения как существующих, так и пользовательских CLX-классов, и автоматической генерацией кода и таблиц. Фактически многие UML-редакторы третьих производителей поддерживают CLX-классы, но встроенный инструмент мог бы работать на уровне максимальной интеграции.

Конечно, применение RAD провоцирует легкомысленное отношение к кодированию, так что вместе с Kylix в Linux придут и «кудесники от Access». Мы живем в эпоху массового производства, с этим уже поздно бороться — и все же: будете писать на Kylix — делайте это хорошо, плз!

Borland kylix инсталляция и первое знакомство

Впервые на экране Kylix. Только недавно я вернулся с Comtek, где представители Borland мне сообщили ужастнейшую новость — Kylix готов, но в России его ещё нет и будет не скоро. Вернувшись домой, я натыкаюсь на великолепную парочку самописных дисков. Как ты думаешь, что там? Правильно. И с сегоняшнего дня мы начнём изучать его. Первый день мы потратим на установку и первое знакомство. В следующий раз мы сталкнёмся с Kylix уже поближе.

Kylix поддерживает следующие дестрибутивы:

  • Red Hat Linux 6.2.
  • Red Hat Linux 7.0.
  • Mandrake Linux 7.2.
  • SuSE Linux 7.0.

Как заявило представительство Borland, это не полный список, а только те дестрибутивы, которые были протестированы. Так что возможно, что и ASPLinux и BlackCat тоже заработают на этой системе.

Помимо этого, в требования Kylix входят такие вещи как:

  • Обязательное наличие библиотеки glibc 2.1.2 или выше. А что ты хотел, это тебе не Windows, где ты даже не знаешь, какая у тебя графическая библиотека. Здесь всё разделено на версии.
  • Ядро Linux должно быть версии 2.2 или выше. Это тоже прикол Linux. Помимо нумирации дестрибутивав, идёт и нумерация ядра. Если у тебя установлен один из перечисленных выше дестрибутивов, то можешь быть уверен в своём ядре, оно подойдёт.
  • Библиотека libjpeg должна быть версии 6.2 или выше.

На моей машине стоит Red Hat 6.2 и вроде всё должно работать нормально, но нет. Запуская setup.sh я наткнулся на то, что моя библиотека glibc безвозмездно устарела. Инсталляция просто отказалась идти нормально. Слава Barland, что на диске с kylix оказались необходимые патчи. Е сли у тебя возникли те же проблемы, то вот тебе самый простой способ установки патчей:

Нужные файлы лежат в директории patches, затем идёт паапка с именем дестрибутива, и потом папка с именем версии. В моём случае это получилось как patches/glibc_redhat/6.2.

Перейдя в эту папку ты нарвёшся на кучку файлов — патчей. Для установки их нужно командной строке:

А лучше набрать:

В этом случае пакет будет проинсталирован и проверена возможность обновления пакета.

Более простой вариант — войти в пакет как в папку и ты увидишь его содержимое. запусти прямо из пакета файл install или update и пакет будет установлен. С использованием этого способа есть небольшие проблемы. На диске с kylix все rpm пакеты помечены, как запускаемые. Это значит, что оболочка будет пытаться запустить файл, а не войти в него. Для решения этой проблемы:

  • Скопируй пакеты в отдельную директорию на диске.
  • Запусти в этой директории команду: «chmod -X *» (без кавычек).
  • Теперь ты снял пометку запускного файла и можешь входить в пакет как в папку.

После установки всех пакетов из папки patches/glibc_redhat/6.2 инсталяция пошла без проблем. Я запустил файл setup.sh и Kylix удачно пошёл устанавливатся. После установки желательно перезапустить XWindows (для общего развития).

Теперь у тебя в главном меню появился пункт Borland Kylix . Запусти из этого меню Kylix и ты окажешся в почти знакомой среде, очень похожей на Delphi.


Рис 1. Kylix в действии

Как только я увидел эту прелесть, я сразу принялся настраивать свои любимые параметры, поэтому на скриншоте уже заметны некоторые изменения.

Работать с Kylix очень удобно, потому что все клавишы из Delphi так же работают и здесь. У всех компонентов присутствуют практически все те же свойства и имена ничем не отличаются.

Первое, что я бросился проверять — русский язык. kylix действительно поддерживает русский язык, надо только указать нужный шрифт. Правда он поддерживает не все раскладки, но это уже не так страшно. Главное, что язык работает и можно печатать что угодно.

Все компоненты работают как и в Delphi, кроме доступа к базам данных. Здесь всё кардинально изменилось. Но если учесть, что в Delphi 6 доступ к базам будет происходить как в Kylix, то проблем никаких. Просто Borland отказалась от тяжёлой BDE и заменила её на dbExpress.

Если ты уже работал в Delphi, то здесь у тебя не будет никаких проблем, а если нет, то с сегодняшнего дня я начину рассказывать об этом языке.

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL