Gracias de nuevo por la respuesta, antes que nada mi código para liberar:
Código Delphi
[-]
if ventana2<>nil then
begin
FreeAndNil(ventana2);
end;
Bueno he probado primero nil y luego free, así como también FreeAndNil, uso delphi 2010, y aunque se que el administrador de tareas no es lo mejor para analizar si se ha liberado o no, lo raro es que si creo el frame así
Código Delphi
[-]ventana1:=TFrame1.Create(self);
en vez de con nil, eso si me libera inmediatamente la memoria se refleja al instante en el adminsitrador de memoria, es por eso la duda.. claro que al crearlos con self no me deja crearlos 2 veces me dice que el nombre del componente ya existe..
Gracias!!