Wollte ich auch grade sagen.
Delphi-Quellcode:
var
ObjectList: TObjectList;
O: TObject; // <<<<<
begin
for O in ObjectList do;
end;
ABER, da TObjectList von TList abgeleitet ist, welches dort Pointer hat und der Enumerator vermutlich nur in TList-Deklariert und nicht überschrieben wurde, wird es hier wohl bei Pointer bleiben.
Nee, dem, der in der Ableitung den Enumerator vergessen hat.
Fazit: Warum haben die dort noch keinen Enumerator eingeführt?
Aber da Pointer ebenfalls mit IS und AS behandelt werden kann (wenn ich das noch richtig im Kopf hab), stört es hier nicht all zu sehr.
(und casten muß man oftmals sowieso, wo es dann egal ist ob man TObject->TMyObject oder Pointer->TMyObject machen muß)
PS: Wenn man will, kann mich sich auch selber einen Enumerator schreiben und den sogar generisch für die nichtgenerische TObjectList, wenn man es gern so mag.