Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как создать копию произвольного компонента?

01.01.2007
{ 
 
Здесь пpоцедypа CreateClone, котоpая кpеатит компонентy ОЧЕHЬ ПОХОЖУЮ на
входнyю. С такими же значениями свойств. Пpисваивается все, кpоме методов.
}
function CreateClone(Src: TComponent): TComponent;
var
  F
: TStream;
begin
  F
:= nil;
 
try
    F
:= TMemoryStream.Create;
    F
.WriteComponent(Src);
   
RegisterClass(TComponentClass(Src.ClassType));
    F
.Position := 0;
   
Result := F.ReadComponent(nil);
 
finally
    F
.Free;
 
end;
end;