Mach aus dem ganzen eine Funktion bei der du das Frame als Result zurückgibst.
dann weise das Frame einem Array zu:
Delphi-Quellcode:
var
framefeld : array of TFrame;
.
.
procedure NeuesFrames(AName : string);
begin
SetLength(framefeld,Length(framefeld)+1);
framefeld[Length(framefeld)-1]:=DoNeuesFrame(AName);
end;
Nur so als Ansatz