На главную страницу
Форум txt.version   




Статья :: Объектная концепция кроссплатформенного программирования

 

Объектная концепция кроссплатформенного программирования

Программирование в Delphi подразумевает использование тех или иных классов, будь то формы, невизуальные компоненты или списки. Концепция кроссплатформенного программирования в рамках одной среды разработки имеет в виду наличие общего ядра, обеспечивающего функционирование зависимой от операционной системы программной надстройки. В Delphi таким ядром стала библиотека времени выполнения (RunTime Library — RTL), с использованием классов которой созданы библиотеки компонентов VCL и CLX.

В соответствии с этим для обеспечения кроссплатформенной разработки в исходные коды базовых классов Delphi были внесены изменения. Общим ядром библиотек компонентов VCL и CLX является иерархия классов TObject — TFersistent — TComponent, которые входят в состав RTL. Это позволяет среде разработки легко интегрировать кроссплатформенные проекты и работать со стандартными проектами для Windows.

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

класса и далее, библиотеки компонентов имеют собственные исходные коды. Многие модули CLX имеют названия, аналогичные модулям VCL, но с добавлением первой буквы Q, например QControls.pas.

В библиотеке VCL классы TControl и Twincontrol являются предками всех компонентов, которые должны уметь отображать себя на экране при помощи графических средств операционной системы. В библиотеке CLX аналогичную задачу выполняют классы TControl и TWidgetControl. Они обеспечивают работоспособность компонентов-потомков в качестве экранных объектов widget.

Большинство свойств и методов классов Twincontrol и TWidgetControl совпадают. Однако есть и различия, вызванные особенностями графических интерфейсов операционных систем Windows и Linux.

Более подробные сведения о функциональности перечисленных классов VCL и RTL содержатся в гл. 2.

Для обеспечения работоспособности кроссплатформенных классов CLX применяется динамическая библиотека Qt. Для использования ее методов в классах CLX в составе Delphi имеется заголовочный файл Qt.pas. При создании объекта CLX конструктором create в исходном коде или переносом компонента на форму автоматически создается специальный объект — widget. Widget связан с объектом CLX, обеспечивает взаимодействие объекта CLX с операционной системой и уничтожается вместе с ним.

Однако widget может быть создан и напрямую. Такая ситуация может возникнуть, к примеру, при создании собственных компонентов. Для этого применяется функция QWidget_Create динамической библиотеки Qt. В этом случае widget не привязан к объекту CLX и, соответственно, не уничтожается вместе с ним.

 

Объектная концепция кроссплатформенного программирования

страницы в данном разделе 
 ГЛАВА 4  ГЛАВА 4 Кроссплатформенное программирование для Linux
 Проект CLX  Объектная концепция кроссплатформенного программирования
 Библиотека компонентов CLX  Сходства и различия визуальных компонентов CLX и VCL
 Особенности программирования для Linux  Приложения баз данных для Linux
 Internet-приложения для Linux  Резюме


Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)

Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)

PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C





 
©  programming-lang.com  справочник программиста