~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 89953136A8C595726B5507239EC04E75__1695562200 ✰
Заголовок документа оригинал.:
✰ Visual Component Library - Wikipedia ✰
Заголовок документа перевод.:
✰ Библиотека визуальных компонентов — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Visual_Component_Library ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/89/75/89953136a8c595726b5507239ec04e75.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/89/75/89953136a8c595726b5507239ec04e75__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 12:49:45 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 24 September 2023, at 16:30 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Библиотека визуальных компонентов — Википедия Jump to content

Библиотека визуальных компонентов

Из Википедии, бесплатной энциклопедии
Библиотека визуальных компонентов (VCL)
Оригинальный автор(ы) Борланд
Разработчики) Эмбаркадеро Технологии
Начальная версия 1995 год ; 29 лет назад ( 1995 )
Операционная система Кроссплатформенность ( Microsoft Windows , macOS , iOS , Android )
Тип графический интерфейс
Лицензия Коммерческий
Веб-сайт www .embarcadero /кр /продукты /рад-студия
документация .embarcadero /RADStudio /XE6 /VCL _Обзор

Библиотека визуальных компонентов ( VCL ) — это визуальных компонентов на основе объектно-ориентированная среда для разработки пользовательского интерфейса приложений Microsoft Windows . Он написан на Object Pascal .

История [ править ]

VCL был разработан компанией Borland для использования и тесно интегрирован с ее Delphi и C++Builder инструментами RAD .

В 1995 году компания Borland выпустила Delphi, свою первую версию Object Pascal IDE и языка . До этого момента Turbo Pascal от Borland для DOS и Windows был в основном процедурным языком с минимальными объектно-ориентированными функциями и созданием UI-фреймворков на необходимом языке с использованием таких фреймворков, как Turbo Vision и Object Windows Library . OWL, инфраструктура, аналогичная MFC , требовала написания кода для создания объектов пользовательского интерфейса.

Ключевой целью VCL в сочетании с языком Delphi было изменение требований к построению пользовательского интерфейса. (Для контекста: вариант Pascal для Delphi имел ряд инновационных объектно-ориентированных функций, таких как свойства и информация о типах времени выполнения, вдохновленные Modula и Smalltalk.) В то время большая часть работы с кодом пользовательского интерфейса требовала создания классов, наследующих другие классы, а настраиваемые объекты зачастую не допускали повторного использования (например, кнопку, выполняющую определенное действие, нельзя повторно использовать в другом приложении). [1] Код пользовательского интерфейса также был сложным, заставляя программиста понимать и использовать Windows API, управлять ресурсами GDI и т. д. [2] Наконец, визуальный пользовательский интерфейс, возможно, должен проектироваться визуально, однако большинство инструментов для этого — в то время в основном Visual Basic — делали это с точки зрения кода, выводящего дизайнером, создавая хрупкую, не поддающуюся редактированию вручную ситуацию — проблема, которая до сих пор сохраняется во многих UI-фреймворках, особенно на основе C++, таких как Qt. [3]

Комбинация языка Delphi и среды VCL, написанной на этом языке, решает эти проблемы следующим образом:

  • Платформа потоковой передачи, позволяющая передавать объект и подобъекты в текстовый или двоичный формат — TComponent, корневой класс платформы VCL.
  • Конструктор форм, сохраняющий в поток описание объектов, а не код, необходимый для их создания, с объектами, способными создаваться самостоятельно при потоковой передаче описания обратно в поток.
  • Возможности языка, которые позволяли настраивать экземпляры класса без создания подклассов двумя способами: во-первых, посредством использования свойств, позволяющих экземплярам объекта иметь собственные поля (например, заголовок), которые можно легко изменять посредством потоковой передачи; во-вторых, позволяя событиям — указателям на методы, вызываемым в определенных местах кода — обрабатываться другим объектом; то есть указатели методов были прикреплены к экземпляру объекта. [4] Другими словами, это создает «индивидуальное поведение посредством делегирования вместо наследования». [5]
  • Элементы управления, обернутые собственными элементами управления Windows, в инфраструктуре, управляющей ресурсами. [6]

Сочетание этих возможностей привело к созданию визуального дизайнера, который транслировал описание; форма (окно), созданная на основе этого описания, включая создание всех остальных компонентов этой формы; и код, написанный в одном месте (методы в форме), который может вызываться элементами пользовательского интерфейса в ответ на определенные действия, например нажатие кнопки, вызывающее обработчик событий OnClick, реализованный в коде формы. В то время это было революционно, а сегодня этот подход используется в ряде других платформ, таких как WinForms и Cocoa.

Это также позволило легко писать новые компоненты — новые визуальные или невизуальные классы. VCL основан на Windows, а его реализации общих элементов управления являются оболочками Windows API, поэтому он близок к базовому и полностью нативный. Новые элементы управления можно реализовать с нуля или использовать существующие элементы управления Windows.

С выпуском C++ Builder компилятор Delphi мог создавать заголовочные файлы C++ для скомпилированных модулей языка Delphi, и поэтому для C++ стала доступна гибкость потоковой, визуально разработанной среды пользовательского интерфейса. Компоненты VCL на самом деле могут быть написаны на C++, но в конечном итоге наследуются от предков Delphi, поскольку компилятор и компоновщик C++Builder могут использовать объектные файлы и файлы заголовков, созданные Delphi. Это был один из первых примеров межъязыковой совместимости, невиданный до .Net.

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

Технология [ править ]

VCL формирует иерархию классов с общим предком , классом TComponent (который наследуется от TObject, корневого класса в Delphi Object Pascal ). Это общий подход, используемый в языках программирования Java , Smalltalk , C# и многих других объектно-ориентированных языках программирования.

Компоненты VCL охватывают элементы управления Windows, такие как окна ( класс TForm ), элементы управления (например, классы TButton, TCheckBox, TLabel), а также доступ к базе данных (например, компоненты ADO или IBX) или подключения к Интернету ( компоненты Indy ). Компонентный подход позволяет программистам расширять VCL множеством визуальных и невизуальных дополнительных компонентов. Существует большое количество бесплатных и коммерческих пакетов компонентов. Среди них JEDI , TMS , Developer Express , Mitov Software , Raize Software , TurboPower , IOComp , SDL , DA-SOFT Technologies и многие другие.

Хотя не все компоненты VCL являются потокобезопасными поддерживает многопоточность , VCL также . Одним из примеров является встроенная поддержка многопоточности библиотеки OpenWire VCL.

VCL обеспечивает встроенную поддержку модели PME (свойства, методы и события) на уровне .NET . [ нужна цитата ]

Большая часть дизайна .NET , особенно WinForms, создана по образцу VCL. Один из главных архитекторов первых версий Delphi, Андерс Хейлсберг , был нанят Microsoft и стал одним из главных архитекторов .NET. Это стало предметом судебного иска: в то время (1996 г.) «Borland утверждала, что Microsoft наняла 34 сотрудника Borland за последние 30 месяцев с целью украсть коммерческую тайну Borland. Borland также утверждала, что Microsoft предлагала и поставляла Borland дорогие приманки. В двух случаях были задействованы льготы на сумму более 1 миллиона долларов». [7] По данным delphi.about.com, в случае Андерса бонус составил три миллиона долларов. Многие разработчики Delphi находят C# довольно знакомым из-за сходства дизайна. [8]

Связанные фреймворки [ править ]

Кросс-платформенный эквивалент VCL, названный CLX (Библиотека компонентов для кросс-платформы), был позже разработан для использования в Delphi , C++Builder и Kylix в 2000–2001 годах. Однако от него отказались.

Вторая кроссплатформенная платформа, FireMonkey , была интегрирована в Delphi и C++Builder XE2 в 2011 году. FireMonkey — это векторная WPF-подобная платформа для пользовательских интерфейсов в Windows, OSX, iOS и Android.

У проекта Lazarus есть портативный (*nix, OS/X, Win32/64+wince) эквивалент под названием LCL , который уже работал, когда появились Kylix и CLX. Проект сохранил свой курс и проигнорировал Kylix (а позже и FMX).

OpenOffice.org и, следовательно, LibreOffice содержат несвязанную графическую библиотеку, называемую библиотекой визуальных классов (VCL).

См. также [ править ]

Ссылки [ править ]

  1. ^ Дизайн компонентов Delphi, Дэнни Торп, стр. 9
  2. ^ Дизайн компонентов Delphi, Дэнни Торп, стр. 11
  3. ^ «Использование файла пользовательского интерфейса Designer в вашем приложении | Qt 4.8» .
  4. ^ «Обзор VCL — RAD Studio» .
  5. ^ Дизайн компонентов Delphi, Дэнни Торп, стр. 12
  6. ^ «Понимание библиотеки компонентов — RAD Studio» .
  7. ^ «Уроки Дельфи» .
  8. ^ «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 26 января 2014 г. Проверено 28 мая 2014 г. {{cite web}}: CS1 maint: архивная копия в заголовке ( ссылка )
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 89953136A8C595726B5507239EC04E75__1695562200
URL1:https://en.wikipedia.org/wiki/Visual_Component_Library
Заголовок, (Title) документа по адресу, URL1:
Visual Component Library - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)