![]() |
Property mit Unterkategorien
Hallo
Ich bin dabei eine Klasse zu erstellen die das property items enthalten soll. Items soll ein record mit verschiedenen Untereigenschaften sein. Man soll also kurz gesagt Items aus folgende Weise ändern können. 'Instanz der Klasse'.Items.Name := ... 'Instanz der Klasse'.Items.texture := ... Das Problem das ich dabei habe ist, dass ich zwar auf Items zugreifen kann, jedoch keine weiteren Unterverzweigungen anwählen kann. Das Ganze soll ca. so funktionieren wie die Tlistbox.items Jemand ne Idee? |
Re: Property mit Unterkategorien
Der Typ der Eigenschaft muss ein Record- oder Klassentyp sein ;)
Einfache Lösung wäre ein record, also sowas:
Delphi-Quellcode:
(in der Art, hab schon länger nicht mehr programmiert ...)
TMyRec = record
Name, Textur: String; end; TKlasse = class property Items : TMyRec; end; |
Re: Property mit Unterkategorien
Zitat:
|
Re: Property mit Unterkategorien
Aha...und wie soll das z.B. aussehen?
|
Re: Property mit Unterkategorien
So zum Beispiel:
Delphi-Quellcode:
brauchst du aber, was ich glaube, mehrere dieser Items solltest du von
TMyItem = class(TPersistent)
private fName, fText: string; published property Name: string read fName write fName; property Texture: string read fText write fText; end; TCollection und TCollectionItem ableiten |
Re: Property mit Unterkategorien
Hm ich habs nun geschaft via einer neuen Klasse, die alle Eigenschaften meinen Records aufweist.
Mein Problem ist nun dies: "Instanz der Klasse".Items[i].name := .... ... die Daten, die ich eintrage, sollen in ein array vom typ meines Record gespeichert werden. indem man .items[i]. angibt soll man eine Eigenschaft an der i Position des array ändern können. Ich weis aber keine Möglichkeit auf die idexvariable i zuzugreifen, da die sich die Eigenschaft auf die ich zugreifen will ja in einer anderen Klasse befindet. Gibs da ne Lösung? |
Re: Property mit Unterkategorien
Wie Ronny schon schrieb, ist TCollection in Verbindung mit TCollectionItem dein Freund. Oder, wenns einfacher gehen soll, nur nicht ganz so flexibel, TObjectList.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:10 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