![]() |
AW: Die Sache mit dem Listenproperty
Hmm, das finde ich nicht so gut. Damit gibst Du ja die Möglichkeit, dass ein privater Classmember von außen vernichtet werden kann.
Getreu dem Motto, dass jeder seinen eigenen Müll wegräumen soll, erwarte ich dann eine entsprechende Instanz eines TStrings-Nachfahren von außen. |
AW: Die Sache mit dem Listenproperty
Naja, wer das tut, ist ja selber Schuld. Oder gibst Du z.B. TComboBox.Items auch frei? ;)
|
AW: Die Sache mit dem Listenproperty
Hi zusammen
Zitat:
Zitat:
@sakura: Zitat:
Zitat:
Zitat:
Gruss Delbor |
AW: Die Sache mit dem Listenproperty
Hi
Zitat:
Zitat:
Zum Thema Rückgabewert, wenn irgendein Aufrufer die Liste zerstört (Destroy, Free), dann wird es Zugriffsverletzungen geben, entweder später oder beim Beenden. Deswegen die Frage, warum nicht ein Array zurück geben? ...:cat:... |
AW: Die Sache mit dem Listenproperty
Zitat:
Zitat:
|
AW: Die Sache mit dem Listenproperty
Zitat:
...:cat:... |
AW: Die Sache mit dem Listenproperty
@sakura: :thumb:
|
AW: Die Sache mit dem Listenproperty
Damit es Ruhe hat:
Delphi-Quellcode:
Damit kann man dann durch die Liste iterieren, hat aber keinen direkten Zugriff darauf.
type
TDingens = class private FTablenames: TStringList; function GetTablenames(Index: integer): string; function GetTablenameCount: integer; public constructor Create; destructor Destroy; override; property TablenameCount: integer read GetTablenameCount; property Tablenames[Index: integer]: string read GetTablenames; end; ... constructor TDingens.Create; begin FTablenames := TStringList.Create; FillTablenamesFormSomewhere(FTablenames); end; destructor TDingens.Destroy; begin FTablenames.Free; inherited; end; function TDingens.GetTablenames(Index: integer): string; begin Result := FTablenames[Index]; end; function GetTablenameCount: integer; begin Result := FTablenames.Count; end; |
AW: Die Sache mit dem Listenproperty
Zitat:
...:cat:... |
AW: Die Sache mit dem Listenproperty
*Pff* :tongue:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:21 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