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 Property (SetOf..) in abgeleiteter Klasse modifizieren (https://www.delphipraxis.net/121295-property-setof-abgeleiteter-klasse-modifizieren.html)

taaktaak 25. Sep 2008 07:36


Property (SetOf..) in abgeleiteter Klasse modifizieren
 
Moin, Moin :hi:

Bastle seit einigen Tagen an einer neuen Grid-Komponente. Nun stoße ich auf ein unerwartetes Problem, das allen Lösungsversuchen widersteht:

Ich möchte die GridOptions verändern. Sie sollen...
  • um eine Option erweitert werden und
  • eine geerbte Option soll nicht mehr zur Verfügung stehen.
Mein erster Ansatz war, einfach neue Optionen zu definieren, die "Alten" zu verstecken und im Setter der neuen Optionen die Information an die "Alten" durchzureichen. Das funktionierte prinzipiell auch, allerdings waren im OI nun alte und neue Options zu sehen. Kurze Recherche macht oft schlau: Man kann die Sichtbarkeit erhöhen aber nicht reduzieren - tja, dumm gelaufen.

Da ich die "Alten" nun nicht verstecken kann, ist der Lösungsansatz neue Options zu definieren wohl nicht zweckmäßig und ich suche nun eine Möglichkeit den in Grids definierten Typ TGridOptions zu verändern - allerdings beisse ich mir damit die Zähne aus.

Ist Hilfe möglich?

Bernhard Geyer 25. Sep 2008 07:42

Re: Property (SetOf..) in abgeleiteter Klasse modifizieren
 
Viele Komponenten sind von einer TCustomXXX-Komponente abgeleitet welche keine published Properties hat. Die "richtige" Komponente veröffentlicht diese nur. Ist das bei deiner Komponente auch so, dann kannst du von der TCustomXXX-Komponente ableiten.

taaktaak 25. Sep 2008 08:07

Re: Property (SetOf..) in abgeleiteter Klasse modifizieren
 
Moin, Moin.
Derzeit leider nicht. Ich leite direkt von TStringGrid ab, da ich Cells() verwende. OK, der Lösungsweg ist damit aufgezeigt: Ableitung von TCustomGrid, damit ist das Options-Problem lösbar. Also einen Schritt zurück und klären, wie ich ohne Cells() auskomme.
Danke!

uligerhardt 25. Sep 2008 08:31

Re: Property (SetOf..) in abgeleiteter Klasse modifizieren
 
Wenn ich dich recht verstanden habe, schau dir mal an, was Mike Lischke mit ReadOldOptions in VirtualTrees.pas macht.

HTH,
Uli.

taaktaak 25. Sep 2008 09:19

Re: Property (SetOf..) in abgeleiteter Klasse modifizieren
 
Moin, Moin.

Ja, das schaut interessant aus. Vielen Dank für deinen Hinweis!

Der entscheidende Punkt ist, dass ich von TCustomXXX ableiten muss. Dann wird das mit den Options auch funktionieren. Bin im Augenblick dabei, den Code umzuschreiben um auf Cells() verzichten zu können. Obwohl das nun ein wenig zeitlichen Aufwand bedeutet, wird der Code dadurch sogar kürzer und wohl auch übersichtlicher.

Es ist immer wieder erstaunlich, wie "blind" ich manchmal in die falsche Richtung laufe.
Aber mit eurer Hilfe wird's immer besser!
:hi:


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