Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Frage zu Array-Property (https://www.delphipraxis.net/109553-frage-zu-array-property.html)

hugo1990 3. Mär 2008 14:44


Frage zu Array-Property
 
Ist es möglich bei einem Array-Property, wie z.B. diesem:
Delphi-Quellcode:
property Items[Index: Integer]: TFileListItem read GetItem write SetItem;
wobei TFileListItem eine Klasse ist, die Zuweisung auf die Werte so durchzuführen:
Delphi-Quellcode:
FileList.Items[0].Filename := 'Test.bla';
oder kann man nur eine Instanz von TFileListItem auf FileList.Items[0] zuweisen?

Kroko1999 3. Mär 2008 14:47

Re: Frage zu Array-Property
 
Was spricht gegen ausprobieren?

sirius 3. Mär 2008 14:48

Re: Frage zu Array-Property
 
evtl. das write-property weglassen. Weil man das meistens nicht braucht.

hugo1990 3. Mär 2008 14:53

Re: Frage zu Array-Property
 
Also ich habe das ganze ja ausprobiert und es geht nicht, er ruft die SetItem nicht auf und die muss er aufrufen, da bei der Zuweisung noch mehr passieren soll.

sirius 3. Mär 2008 14:56

Re: Frage zu Array-Property
 
Zitat:

Zitat von hugo1990
Also ich habe das ganze ja ausprobiert und es geht nicht, er ruft die SetItem nicht auf und die muss er aufrufen, da bei der Zuweisung noch mehr passieren soll.

Wenn du das hier aufrufst:
Delphi-Quellcode:
FileList.Items[0].Filename := 'Test.bla';
Dann wird getItem aufgerufen, weil du willst ja ein bestimmtest TFileListItem haben. Du änderst ja nicht das Item an sich. Du änderst ja den Inhalt des Items. Deswegen wird nur der Setter von TFileListItem aufgerufen, nämlich der vom FileName. Bei allen anderen Objekten davor wird der Getter aufgerufen.

Deswegen sagte ich ja auch, dass du das write-Property nicht benötigst.

hugo1990 3. Mär 2008 15:02

Re: Frage zu Array-Property
 
Aso, jetzt kapier ich das.
Danke für die schnellen Antworten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:19 Uhr.

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