Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi [OOP]: TPersistent (https://www.delphipraxis.net/29367-%5Boop%5D-tpersistent.html)

mytar 8. Sep 2004 11:31


[OOP]: TPersistent
 
  • Ich hab in der OH bereits nach TPersistent geschaut,
    hab die Erklärung bzw. Beschreibung nicht verstanden.
    Ich bitte um eine kurze Erklärung.
  • In welchen Fällen ist TObject, in welchen TPersistent zu empfehlen?

Jelly 8. Sep 2004 11:36

Re: [OOP]: TPersistent
 
TPersistent macht dann Sinn, wenn du eine Klasse im Object Inspector erscheinen lassen willst. Du musst also mindestens dann von TPersistent ableiten. Beispiele hierfür sind TFont, TAnchors..., also alles Eigenschaften, die du im OI mit dem "+" aufklappen kannst.

Gruß,

mytar 8. Sep 2004 11:44

Re: [OOP]: TPersistent
 
OK, also ist TPersistent das Zwischenstück von TObject und TComponent.
In der OH ist etwas mit Streaming gestanden, deshalb weiß ich nicht genau.

maximov 8. Sep 2004 12:46

Re: [OOP]: TPersistent
 
Zitat:

Zitat von mytar
OK, also ist TPersistent das Zwischenstück von TObject und TComponent.
In der OH ist etwas mit Streaming gestanden, deshalb weiß ich nicht genau.

Moin,

TPersistent wird als ausgangspunkt für die persistenzierung (dfm streaming) benutzt, deshalb auch der name -> objekte konnen dauerhaft persistent sein, zumindest deren Published-properties. Im prinzip sind ab TPersistent die RTTI enträge verfügbar, sodass man dynamisch mit properties arbeiten kann, ohne die genaue klassen zu kennen. Die published properties können dann natürlich auch in OI editiert werden.

mytar 10. Sep 2004 11:54

Re: [OOP]: TPersistent
 
Was ist aber dann der konkrete Unterscheid zu TComponent?

maximov 10. Sep 2004 12:34

Re: [OOP]: TPersistent
 
Zitat:

Zitat von mytar
Was ist aber dann der konkrete Unterscheid zu TComponent?

TComponent ist die basisklasse der VCL und implementiert eine hierarchische struktur, tausende service-funktione, destroy-observer etc. TPersistent kann fast nix, ausser ein paar basisfunktione für die persistenzierung (DefineProperties) und RTTI definitionen.

Du kannst dir doch einfach den quellcode anschauen, dann sollte der unterschied klar werden -> Classes.pas :wink:

mytar 10. Sep 2004 12:37

Re: [OOP]: TPersistent
 
Danke für die Hilfe!

[Erledigt]! :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 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 by Thomas Breitkreuz