![]() |
Property für Element eines Arrays
Hallo,
ist es möglich, eine Property zu definieren, die auf ein bestimmtes Elemen eines Arrays zeigt? Beispiel:
Delphi-Quellcode:
type
TMyThread = class(TThread) private FListen: array of TStringList; public destructor Destroy; override; property Liste1: TStringList: read FListen[1] write FListen[1]; protected constructor Create(); end; |
Re: Property für Element eines Arrays
naja gehn wirds schon, aber wozu soll das gut sein?
Delphi-Quellcode:
private
function GetElement: string; public property MyStrings: TStringList read GetElement; ... function MyClass.GetElement: string; begin result := FMyStrings[1]; end; |
Re: Property für Element eines Arrays
also gehen würde das auch so
Delphi-Quellcode:
PS: READ reicht vollkommen, da nur die Objektinstanz zurückgegeben werden muß ... Änderungen kann man in der Liste selber ja vornehmen
property Liste[Index: Integer]: TStringList read GetListe;
function MyClass.GetListe(Index: Integer): TStringList; begin result := FListen[Index]; end; und wenn unbedingt mit Setter, dann besser so, denn sonst hast du ein süßes Speicherleck, da die schon enthaltene Listen-Variable einfach überschrieben, aber die enthaltene Instanz nicht freigegeben wird :angel:
Delphi-Quellcode:
property Liste[Index: Integer]: TStringList read GetListe write SetListe;
function MyClass.GetListe(Index: Integer): TStringList; begin result := FListen[Index]; end; Procedure MyClass.SetListe(Index: Integer; Liste: TStringList); begin FListen[Index].Assign(Liste); end; |
Re: Property für Element eines Arrays
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 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