Einzelnen Beitrag anzeigen

Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#13

Re: Alle Controls mit FOR-IN durchlaufen?

  Alt 5. Jun 2005, 12:27
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
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat