Me equivoqué en esa línea, debería decir:
Código Delphi
[-]property FrameActivo :TFrame read FFrameActivo write SetFrameActivo;
Eso significa que cuando vamos a leer (read) la propiedad FrameActivo, en realidad se lee la variable FFrameActivo, típico en este caso:
Código Delphi
[-]
var r:TFrame;
begin
r := FrameActivo;
end
Y cuando se va a escribir (write) en esa variable, Ejemplo:
Se ejecutará el procedimiento SetFrameActivo, con lo cual, podemos realizar otras operaciones. Además, como ese procedimiento lleva un parámetro, podemos saber si FFrameActivo ya tenía asignado el Frame1, el Frame2, o cualquier otro.
En el código delphi anterior, el parámetro "Value" será el valor que queremos asignar, es decir "Frame1".
Fíjate que antes de mi mensaje, tú tendrías que hacer lo dicho por
roman, 3 líneas de código:
Código Delphi
[-]
FrameActivo.Hide;
FrameAMostrar.Show;
FrameActivo := FrameAMostrar;
A partir de ahora, es sólo una línea de código:
Mira cualquier unidad de delphi con clases, y verás que trabaja así internamente, es decir, no estoy inventando nada nuevo
![Wink](http://www.clubdelphi.com/foros/images/smilies/wink.gif)
.
Saludos