
Zitat von
sakura:
Oben haben wir aber eine
Win32-Lösung, keine .NET Lösung und da kannst Du für den Enumerator
keine Interfaces nutzen, sondern Du
musst eine Klasse nutzen.
Richtig. D2005 erwartet eine Klasse und wird die Instanz auch alleine wieder aufräumen.
Für D7 nutze ich in meinen "Templates" ein Get
IEnumerator, das GetEnumerator ist erst mit erfülltem {$IFDEF COMPILER9_UP} sichtbar.

(Ich will mich ja unter D7 nicht vertippen und ein MemLeak riskieren

)
Da ich ein Anhänger von Listen bin ist sowas auch unter D7 eine Erleichterung.
Delphi-Quellcode:
with SomeCollection.GetIEnumerator() do
while MoveNext() do
begin
Current.Member := SomeValue;
end;
Auf die Art kann sich dann der Enum durch die interne Liste hangeln ohne, dass ich damit genervt werde.