Lazarus Component Library

Die Lazarus Component Library (LCL; deutsch Lazarus-Komponentenbibliothek) ist ein plattformübergreifendes GUI-Toolkit der Free-Pascal-Entwicklungsumgebung Lazarus.
Die LCL besteht aus einer Sammlung von Units, die Komponenten und Klassen insbesondere für visuelle Aufgaben bereitstellen. Sie baut auf den Bibliotheken RTL und FCL auf.
Einzelheiten

Die LCL ermöglicht die Entwicklung von Anwendungen mit nativer grafischer Benutzeroberfläche. Dies wird durch die Nutzung plattformspezifischer Widgetsets erreicht, die für die Betriebssysteme Windows, Linux, macOS und Android verfügbar sind. Damit wird es ermöglicht, den Anspruch von Lazarus write once, compile anywhere umzusetzen.
Widgetsets stellen die Schnittstelle für die Anbindung an das jeweilige Betriebssystem einschließlich seiner Steuerelemente (Widgets) bereit. Üblicherweise ist es nicht erforderlich, das Widgetset direkt anzusprechen, da dies durch die jeweiligen visuellen Komponenten (z. B. TEdit) automatisch geschieht. Dadurch wird gewährleistet, dass plattformunabhängiger Quellcode zu einer plattformnativen Anwendung übersetzt wird. Die Widgetsets stellen jedoch auch Klassen bereit, die direkt von der Software angesprochen werden können.
Die LCL ist mit mehreren hierarchischen Klassensystemen, die miteinander verzahnt sind, unterlegt. Die plattformunabhängige Schicht implementiert Steuerelemente, die im Formulardesigner entworfen werden können und für alle Betriebssysteme definiert werden. Die zugehörigen Komponenten sind von der LCL-Klasse TLCLComponent abgeleitet. Die konkrete Implementierung geschieht dann in einer plattformabhängigen Schicht, welche die abstrakten Basisklassen im LCL-Interface umsetzt und an das jeweilige GUI-Toolkit anbindet.
Verfügbare Widgetsets
Derzeit (Frühjahr 2020) sind die folgenden Widgetsets verfügbar oder in Entwicklung:
| Widgetset | Unterstützte Betriebssysteme | Status |
|---|---|---|
| Windows API, GDI | Windows | Stabil, produktiv benutzbar |
| Windows CE API, GDI | Windows CE | Stabil, produktiv benutzbar |
| GTK+ 1.2.x | Linux (via X11) | Teilweise umgesetzt, veraltet |
| GTK+ 2.8+ | Windows, Linux (X11 und framebuffer) und macOS (via X11) | Stabil, produktiv benutzbar |
| GTK+ 3.x | Windows, Linux (X11 und framebuffer) und macOS (via X11) | In Entwicklung |
| Qt 4.5+ | Windows, Linux (X11 und framebuffer), macOS | Stabil, produktiv benutzbar. Verfügbar für Windows, Linux, Mac OS X, Maemo, etc. Software benötigt Zusatzbibliothek. |
| Cocoa | macOS | In Entwicklung, eingeschränkt produktiv nutzbar |
| Carbon | macOS | Stabil, produktiv benutzbar. Von macOS 10.15 Catalina und später aber nicht mehr unterstützt. |
| fpGUI | Windows, Windows CE, Linux (via X11) | In Entwicklung |
| Lazarus Custom Drawn Controls | Android, Windows, Linux (via X11), macOS | In Entwicklung |
| Magic User Interface | MorphOS | In Entwicklung |
Literatur
- M. Van Canneyt, M. Gärtner, S. Heinig, F. Monteiro de Carvalho, I. Ouedrago. Lazarus – Arbeiten mit IDE und Klassenbibliothek. C&L-Verlag, Böblingen 2010, ISBN 978-3-936546-38-5.
Weblinks
- Dokumentation der LCL im Free Pascal Wiki
- Vollständige Online-Referenz
- Anleitung zum direkten Zugriff auf Widgetsets im Free Pascal Wiki
- Regelmäßig aktualisierte Übersicht über den Entwicklungsstatus der Widgetsets im Lazarus Wiki
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.