Doch, es ist unendlich. Du versuchst zwar, mit einem dynamischen Array das Problem der Unendlichkeit zu umgehen (Dein 'flomp' ist ja in Wirklichkeit ein Pointer), aber Delphi lässt das eben nicht zu(Aus gutem Grund). Was du machen willst, ist Folgendes;
Delphi-Quellcode:
Type
PMyRecord = ^TMyRecord; // erlaubt, obwohl TMyRecord noch nicht definiert ist
TMyRecord = Record
mrFoo : Integer;
mrBar : Array of PMyRecord;
End;
Jetzt kann man die Größe des TMyRecord angeben (4008 Bytes). Bei Klassen hingegen wäre deine Deklaration ok, weil TMyClass sowohl die Klasse, als auch den Verweis bezeichnet.
Delphi-Quellcode:
TMyClass = Class
private
fFoo : Integer;
fBar : Array Of TMyClass;
...
end;