Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Array-Properties verschachteln (https://www.delphipraxis.net/44606-array-properties-verschachteln.html)

TomDooley 21. Apr 2005 15:17


Array-Properties verschachteln
 
Hallo

Ich habe folgende Klassen:

Delphi-Quellcode:
TAlfa = class
...
Fa : integer
end;

TBeta = class
...
Fb : integer
FAlfa : Array[1..10] of TAlfa
property Alfa[i:byte] read GetAlfa write SetAlfa;
end;

TCharlie = class
...
Fc : integer
FBeta : Arra[1..10] of TBeta
property Beta[i:byte] read GetBeta write SetBeta;
end;

Charlie : TCharlie;
i : integer;
Alle Instanzen wurden erzeugt. Ich probierte nun folgende Zuweisung:

Delphi-Quellcode:
i := Charlie.Beta[1].Alfa[1].Fa;
Sollte das funktionieren?

Gruss Tom

leddl 21. Apr 2005 15:46

Re: Array-Properties verschachteln
 
Warum hast dus nich einfach ausprobiert? :gruebel:

Aber um das mal trotzdem zu beantworten: Ja, sollte funktionieren.

TomDooley 21. Apr 2005 15:55

Re: Array-Properties verschachteln
 
berechtigte Frage.... das habe ich natürlich getan.

Ich bekomme eine Exception "EStackOverflow"...

leddl 21. Apr 2005 16:09

Re: Array-Properties verschachteln
 
Also StackOverflow klingt für mich, als ob du zB anstatt dem TAlpha in TBeta wieder ein TGamma benutzt hast.

Bist du auch sicher, daß du jeweils alle Array-Elemente im Create erstellt hast? Wobei... :gruebel: Das gäb ne andre Fehlermeldung. Sonst kann ich mir nur noch vorstellen, daß du eben was falsch eingetippt hast, denn ich benutze in einem von meinen Programmen ne ähnliche Struktur.

Muetze1 21. Apr 2005 16:10

Re: Array-Properties verschachteln
 
Moin!

Wenn du einen Stack Overflow bekommst, dann hast du in deiner Get Methode wahrscheinlich nicht den Wert von FAlpha[] zurück gegeben sondern von Alpha[], was natürlich wieder die Get Methode aufruft, usw.

MfG
Muetze1

JasonDX 21. Apr 2005 16:12

Re: Array-Properties verschachteln
 
vielleicht hast du in GetBeta nicht
Delphi-Quellcode:
result := fBeta[Index];
sondern
Delphi-Quellcode:
result := Beta[Index];
Stehen?
Durch ähnliche dinge könnte sowas auftreten!

TomDooley 21. Apr 2005 16:21

Re: Array-Properties verschachteln
 
Hallo alle! Danke an alle!

Chimaira und Muetze1 haben den Nagel auf den Kopf getroffen und ich bin der Nagel!!

:cheers:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 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