Проект CLX

Глава 4. Кроссплатформенное программирование для Linux



Содержание / Глава 4. Кроссплатформенное программирование для Linux


Создание кроссплатформенного приложения в Delphi требует выполнения абсолютно стандартных действий. Достаточно создать новый проект, выбрав для этого в Репозитории пункт CLX Application.

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

Проект CLX отличается от обычного типом файла, содержащего информацию о форме. Если в обычном проекте файл формы имеет расширение dfm, то в проекте CLX это файл с расширением xfm, одинаково понятный и для Delphi, и для Kylix, так так и те и другие файлы являются обычными текстовыми файлами и сведения о форме представлены в них в текстовом виде. Примерно то же самое вы видите, просматривая форму в текстовом представлении в окне Редактора Delphi (команда View as Text из всплывающего меню формы).

Обратите внимание, что форма и модуль CLX связываются при помощи директивы {$R *.xfm}.

Кроме этого, в проектах Delphi и Kylix различаются расширения файла опций проекта (в Delphi — dof, в Kylix — kof). Однако это не принципиальная проблема и при отсутствии такого файла среда разработки создаст новый с настройками по умолчанию. Таким образом, всегда можно придумать как минимум несколько способов перенести текстовое содержимое файла настроек проекта.

Теперь рассмотрим сгенерированный Delphi исходный код проекта — это даст нам несколько интересных наблюдений. По синтаксису и основным элементам исходный код не отличается от стандартного. Файл проекта содержит список модулей и секцию begin, .end. Файл модуля также обычен, за исключением списка используемых модулей в секции uses.

Выше мы говорили о библиотеке компонентов CLX и ее роли в кроссплатформенной разработке. И модули с непривычными названиями QControis, QForms и др. как раз содержат базовые классы библиотеки CLX.

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

В подтверждение сказанного при помощи нескольких изменений в проекте VCL мы можем легко преобразовать проект VCL в CLX и обратно. Для этого понадобится любой текстовый редактор. И конечно проект не должен содержать компонентов, которые не входят в состав библиотеки CLX.

1. В файле проекта в секции uses изменим ссылку на модуль Forms на QForms.

2. В файлах модулей заменим ссылки на модули VCL на модули CLX. Например, секция uses может выглядеть так:

uses SysUtils, Types, Classes, QGraphics, QControls, QForms;

3. В файлах модулей заменим директиву {$R *.dfm} на {$R *.xfm}.

4. В файлах форм заменим расширение dfm на xfm.

Сохранив сделанные изменения и открыв проект в среде разработки, вы убедитесь, что Delphi приняла его за проект CLX, изменила соответствующим образом Палитру компонентов и с готовностью компилирует его.

Что же касается непосредственно кода кроссплатформенного приложения для Linux, то основные принципы его создания рассматриваются ниже в этой главе.

При необходимости разработчик может добавлять к проекту новые шаблоны, используя для этого Репозиторий. При этом в Репозитории доступны только те шаблоны, которые можно использовать в проекте CLX (например, форма, модуль или модуль данных). Отсутствуют шаблоны, использование которых в Linux невозможно или поддержку которых не обеспечивает библиотека CLX (например, шаблон однодокументного приложения или шаблоны печатных форм Quick Report).


Содержание

Тематическое содержание

Скачать примеры

Вам помог сайт?



Онлайн учебник Borland Delphi 7 с примерами





© SUPPORT.UZ 2008-2017