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 Klassen mit virtuellem Constructor (https://www.delphipraxis.net/144412-klassen-mit-virtuellem-constructor.html)

Alaitoc 8. Dez 2009 07:23

Re: Klassen mit virtuellem Constructor
 
So das kommt zumindest bei mir bei der Suche raus:
  • ERemotableException
  • TAbstractContentParser
  • TActionListItem
  • TAggregate
  • TBaseArray
  • TBaseDragControlObject
  • TBasePropertyEditor
  • TBasicActionLink
  • TCollectionItem
  • TComponent
  • TCustomActionDockBar
  • TCustomActionMainMenuBar
  • TCustomActionMenuBar
  • TCustomActionPopupMenu
  • TCustomActionToolBar
  • TDirectory
  • TDocktree
  • TFieldValuesAdapter
  • TFileIconProvider
  • TInvokableClass
  • TPalette
  • TPreviewThread
  • TPropertyEditor
  • TRemotable
  • TSiteModuleHelper
  • TSizePageModuleHelper
  • TSizeConstraints
  • TSmallIntArray
  • TStandardMenuPopup
  • TStyle
  • TTab
  • TWidgetPalette
  • TWSDLItems

Vielleicht hilfts ja :wink:

himitsu 8. Dez 2009 07:42

Re: Klassen mit virtuellem Constructor
 
Zitat:

Zitat von Stevie
Das kann aber auch passieren, wenn irgendein Spaßvogel von TComponent ableitet und mal fix ein reintroduce statt einem override hinter seinen Konstuktor schreibt.

Schlimm ist, daß die VCL selbt schon sowas hab :wall:
da gibt es einige Klassen, welche direkt von TComponent abgeleitet sind und dann nochmal 'nen eigenen virtuellen Constructor einführen, anstatt den des Vorfahren zu nutzen. :shock:

@Alaitoc: TDirectory und TSmallIntArray klingen schonmal gut
dort können ganz gut Daten drinnenstecken, welche man bestimmt gern mal speichern möchte :-D

gut, da man demnächst auch Klassen nachrüsten kann, wäre es nicht so schlimm, aber ich würde auch gern schon einige "wichtige" Klassen direkt bei der (De)Serialisierung unterstüzen, ohne daß man da zusätzlich noch viel machen muß.

Stevie 8. Dez 2009 08:24

Re: Klassen mit virtuellem Constructor
 
Mich interessiert dein Ansatz, weil ich mich derzeit auch etwas mit XML Serialisierung in Delphi beschäftige (Delphi 2010 und die neue RTTI ist eine wahre Freude).
Versuchst du es so wie .Net zu machen, dass die Deserialisierung das Objekt erzeugt?

himitsu 8. Dez 2009 08:34

Re: Klassen mit virtuellem Constructor
 
Zitat:

Zitat von Stevie
Mich interessiert dein Ansatz, weil ich mich derzeit auch etwas mit XML Serialisierung in Delphi beschäftige (Delphi 2010 und die neue RTTI ist eine wahre Freude).
Versuchst du es so wie .Net zu machen, dass die Deserialisierung das Objekt erzeugt?

Die 2010 RTTI kann ich mir erst später ansehn (mein Delphi ist immernoch nicht da :cry: )
und wie es .Net macht weiß ich garnicht :oops:

Fertig ist jetzt noch nicht viel, da ich es ja derzeit komplett umbau.
(die Record- und Variantserialisierungen sind aber schon/wieder fertig)

Standardmäßig handhabe ich es dann so, daß Klassen erstmal mal NUR in TCollections und .Components von TComponent automatisch erzeugt werden und z.B. Objekte in TObjektList, TStringList und Co. werden nur nach Angabe eines "Parameters" automatisch erzeugt, ansonsten wird die Liste so versucht zu laden, mit den Objekten, welche dort grade drinnen sind (also nur ihre Eigenschaften).

Wenn der "Parameter" angegeben ist, dann werden die Objekte von deratigen Listen/Properties notfalls innerhalb der Serialisierung, bzw. über einen Callback (vom entsprechenden "Programmierer") neu erzeugt ... praktisch so ähnlich, wie es der Form-Loader der VCL macht.


Speziell für die Record-Serialisierng erhoffe ich mir ja von der neuen RTTI viel.
Aktuell muß man ja den Aufbau selber angeben. http://www.delphipraxis.net/internal...105533#1105533 , bzw. http://www.delphipraxis.net/internal...105869#1105869


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

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