Una vez que tengas más claro lo que tratamos en el hilo
Guardar Frame... creo que podrás "clonar" una componente- al menos sus propedades publicadas (sección
published).
Los métodos ReadComponent y WriteComponent de TFileStream que te mencioné en el otro hilo se aplican también a otro tipo de
streams. Podrías usar TMemoryStream en lugar de TFileStream para crear una copia de la componente: la escribes al
stream con WriteComponent y la lees en una nueva instancia con ReadComponent.
Pero por otra parte, pienso que quizá te estés complicando la vida. Según entiendo de tu hilo
Arrastrar y Soltar!!!, tú quieres tener algo similar a una paleta de componentes que el usuario arrastra al área de trabajo (un
frame).
En el proceso de
drag and drop no tienes necesariamente que arrastrar físicamente la componente. En el evento OnDragDrop del
frame, en lugar de
mover la componente origen, puedes dejarla donde está y crear tú misma una nueva instancia inicializando sus propiedades con los valores que tenga la componente que se "arrastró" o con otros valores por defecto:
Código Delphi
[-]
procedure FrameDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
if Source is TEdit then
begin
with TEdit.Create(Self) do
begin
Text := TEdit(Source).Text;
Width := TEdit(Source).Width;
Color := clWindow;
end;
end;
end;
// Saludos