Zitat von
marabu:
Lasst mich nicht dumm sterben. Ich arbeite noch mit D7. Warum kann das FOR-IN-Konstrukt für Components verwendet werden, aber nicht für Controls? Warum nicht für Arrays? Waldteufel hat mir eben in der Online-Hilfe von D2005 gezeigt, dass FOR-IN mit ArrayExpr, StringExpr, SetExpr und CollectionExpr funktionieren soll. Warum also nicht mit einem Controls-Array? Ist da ein Fehler in der Dokumentation?
marabu
Hi marabu!
TComponent implementiert die Methode "GetEnumerator", welche für das FOR..IN benötigt wird, nur für die Components Eigenschaft (welche im Übrigen kein Array, sondern eine Liste (TList) ist). Die .Controls Eigenschaft kann nicht mit for..in durchlaufen werden, da es sich nicht um ein Array im eigentlichen Sinne handelt, sondern um eine Array-Eigenschaft ("array property"). Mit "normalen" Arrays, sowie auch mit TList selbst, funktioniert FOR..IN wie gewünscht.
mfG
mirage228
Edit: Schon wieder kein roter Kasten