das sollte eigentlich den ganzen speicher wieder freigeben, kanns grade nicht testen, da ich hier nur d3 installiert habe und da fastmm nicht funzt. mit den record-bastelleien baut man sich ganz schnell Speicherlecks rein. hab auch schon mit sowas viel Zeit verbracht, daher mein Rat...lass das mit den records
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var formx:TForm1;
i:integer;
begin
list:=TList.create;
for i:=0 to 9 do
begin
formx:=TForm1.createNew(nil);
list.Add(formx);
end;
end;
procedure TForm1.FormDestroy(Sender: TObject);
var i:integer;
formx:TForm1;
begin
for i:=list.count-1 downto 0 do
begin
formx:=TForm1(list.items[i]);
formx.free;
end;
list.free;
end;
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=0 to list.count-1 do
TForm1(list.items[i]).show;
end;
HTH Frank