Komponenten

Rund um die LCL und andere Komponenten

Komponenten

Beitragvon Cool-Tuc » 23. Jul 2017, 19:51 Komponenten

Hallo,
ich habe die Version 1.6.4 unter Ubuntu installiert, läuft soweit rund, aber mir ist folgendes aufgefallen:
Bei der Erstellung einer neuen Komponente gibt es in der Liste der Basisklassen weder TCustumEdit noch TCustomPanal...oder habe ich gerade einen "DenkKnoten" ?
Es gibt (für meinen Bedarf) nur TEdit, TPanel oder aber TCustomControl auszuwählen...
Bin dankbar für Hinweise
Udo
Cool-Tuc
 
Beiträge: 79
Registriert: 6. Apr 2011, 16:10

Beitragvon theo » 24. Jul 2017, 10:40 Re: Komponenten

Wie die Auwahlliste da zustande kommt, weiß ich gerade auch nicht, aber es ist ja kein großes Problem.
Wähle einfach TEdit und ändere es nachher im Quelltext in TCustomEdit, wenn das für dich richtig ist.
theo
 
Beiträge: 7869
Registriert: 11. Sep 2006, 18:01

Beitragvon wp_xyz » 24. Jul 2017, 11:22 Re: Komponenten

Die LCL ist genau wie Delphis VCL so aufgebaut, dass es zu jeder Komponente in der Palette einen Vorfahren TCustomXXXX gibt, der bereits die volle Funktionalität hat, aber noch keine Properties für den Objektinspektor veröffentlicht. Damit tut man sich als Komponentenentwickler leichter, von TCustomXXXX eine neue Klasse abzuleiten, die aber nicht alle Eigenschaften des Vorgängers haben soll. Das liegt daran, dass im Zuge der Komponentenhierarchie die Sichtbarkeiten von Properties nur erhöht werden kann, aber nie erniedrigt (protected --> published ist ok, aber nie published --> protected). In der Regel sind die Properties der TCustomXXXX-Klassen immer protected, so dass man auf diese von der Anwendungsebene aus auch zur Laufzeit nicht zugreifen kann, dagegen aber auf Komponentenebene von einem Nachfahren aus.

Also, wenn du Anwendungen schreibst, sind TCustomEdit und die anderen TCustomXXXX-Klassen nicht wichtig, sie haben insbesondere auf der Komponentenpalette nichts zu suchen. Wenn du Komponenten schreibst, brauchst du die TCustomXXXX-Klassen sehr wohl, aber zum Ableiten einer neuen Klasse müssen sie ebenfalls nicht auf der Komponentenpalette sein.
wp_xyz
 
Beiträge: 2184
Registriert: 8. Apr 2011, 08:01

• Themenende •

Zurück zu Komponenten und Packages



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried