Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Neue Komponente ableiten (FMX) (https://www.delphipraxis.net/176921-neue-komponente-ableiten-fmx.html)

Bernhard Geyer 5. Okt 2013 10:01

AW: Neue Komponente ableiten (FMX)
 
Zitat:

Zitat von Schorschi5566 (Beitrag 1230805)
In meinem Fall habe ich also von TTextControl (Vorfahr von TGroupBox) abgeleitet. Und damit ich alles von der originalen Komponente dabei habe, kopiere ich die Originalklasse und benenne sie um.

Damit hast du aber ein Klassisches Anti-Pattern realisiert.

Zitat:

Zitat von Schorschi5566 (Beitrag 1230886)
Als Faustregel bei der Komponentenableitung könnte man also sagen, dass man vom Vorfahr ableiten sollte, wenn er ein "Custom" im Klassennamen hat, ansonsten von der Originalkomponente. Grob jedenfalls. :cyclops:

Bie der VCL sind die Custom-Controls letztendlich nur die Controls ohne veröffentlichte Properties. Bei FMX hat man sich das scheinbar gespart (ich denke aber auch das bei FMX weniger Property-Altlasten als in der VCL vorhanden sind so das dies noch nicht nötig ist9.

Als Grob-Vorgabe ist wohl eher: Nimm das Control das deinem gewünschten Control am Ähnlichsten ist und du am wenigsten implementieren musst.

himitsu 5. Okt 2013 10:38

AW: Neue Komponente ableiten (FMX)
 
Nötig ist es eigentlich dennoch,
denn wie soll man in einer abgeleiteten Klasse ordentlich ein Property im OI loswerden, welches z.B. dort intern geregelt oder nicht verwendet wird, bzw. nicht extern gesetzt werden darf?

Schade nur, daß es keine Möglichkeit gibt, die Sichtbarkeiten auch bei den Methoden zu regeln. :cry:


PS: Beim TEdit gibt es ein TCustomEdit ... da war jemand wohl nicht ganz konsequent.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:57 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz