Delphi-PRAXiS

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 TPersistent in einem composite control, welche Vorteile? (https://www.delphipraxis.net/130957-tpersistent-einem-composite-control-welche-vorteile.html)

BAMatze 16. Mär 2009 17:04


TPersistent in einem composite control, welche Vorteile?
 
Hallo,

hatte diese Frage zwar schonmal gestellt aber in einem anderen Threat, vieleicht wurde es deswegen überlesen.

Zitat:

Noch eine Frage zu den composite controls. In wiefern ist es denn sinnvoll, wie im Tutorial von Ray Konopka gezeigt, eine solche Unterklasse als TPersistent zu erstellen? Ist es nicht eigentlich günstiger die gesamte Verarbeitung mit allen Methoden und Events in der TWinControl-Klasse zu machen? Welche Vorteile hat es eventuell (ich denke der Herr Konopka, hat sich ja sicherlich sehr viele Gedanken gemacht für sein Tut) diese vorgegebene Struktur aus dem Tutorial zu nutzen?
Hoffe jemand kann mir dazu mal etwas genaueres sagen.

Vielen Dank
BAMatze

BAMatze 16. Mär 2009 21:24

Re: TPersistent in einem composite control, welche Vorteile?
 
Also hab auch hier jetzt mal eine interessante Seite gefunden. Tutorial Komponentenentwiklung Demnach wird TPersistent benutzt um eigene Eigenschaftsklassen zu erstellen. In der angegebenen Quelle wird ziemlich gut dargestellt, wie das funktioniert.

BAMatze

sx2008 16. Mär 2009 23:09

Re: TPersistent in einem composite control, welche Vorteile?
 
Zitat:

Zitat von BAMatze
...Ist es nicht eigentlich günstiger die gesamte Verarbeitung mit allen Methoden und Events in der TWinControl-Klasse zu machen?

Kommt drauf an.
Ein gutes Beispiel ist die TFont-Klasse.
Diese Klasse kommt so ziemlich in jedem Control als eingebettete Unterklasse vor.
Der Vorteil ist, dass alle Font-Eigenschaften (Fontname, Grösse, Kursiv, Fett, Unterstrichen) in einer Klasse gebündelt werden
anstatt als eigene Properties innerhalb von TControl zu existieren.
Die Klasse TFont wird einmal programmiert und mehrfach verwendet.
Das Prinzip ist "Zusammengehörende Dinge in eine Klasse".

Eigentlich könnte man TFont ja direkt von TObject ableiten.
Allerdings hat TPersistent ja die virtuelle Methode Assign(); die man braucht um Objekte zu kopieren.
Der Name "TPersistent" ist eigentlich zu hochgestochen. *)
Auf Deutsch würde die Klasse "TKopierbaresObjektMitRuntimeInformation" heisen.

*) ab der Klasse TPersistent erhalten published Properties einen Eintrag in der RTTI.
In de Klasse TObject werden public und published noch gleich behandelt.

BAMatze 16. Mär 2009 23:23

Re: TPersistent in einem composite control, welche Vorteile?
 
@sx2008 Danke dir für deine Erklärung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:03 Uhr.

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