Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Stevie,
19. Nov 2004
Sag das doch gleich! :roll: :wink:
Ich hab etwas gebastelt, das funktionieren müsste, aber es ist - gebe ich zu - nicht die feine Art:
function CloneComponent(Component: TComponent): TComponent;
var
Stream: TStream;
OldName, NewName: string;
i: Integer;
begin
Stream := TMemoryStream.Create;
try
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Stevie,
19. Nov 2004
Jo, natürlich, aber du bist auf eine Klasse festgelegt!
Die Funktion oben kopiert eine beliebige Komponente. ;-)
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Stevie,
19. Nov 2004
initialization
RegisterClasses();
finalization
UnRegisterClasses();
Edit: besser:
{...}
RegisterClass(TComponentClass(Component.ClassType));
Result := TComponentClass(FindClass(Component.ClassName)).Create(Component.Owner);
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Stevie,
19. Nov 2004
So funktioniert die Sache mit ner beliebigen Komponente (evtl. im initialization-Abschnitt die Klasse Registrieren):
function CloneComponent(Component: TComponent): TComponent;
var
Stream: TStream;
OldName, NewName: string;
i: Integer;
begin
Stream := TMemoryStream.Create;
try
OldName := Component.Name;
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Stevie,
18. Nov 2004
Ich meine, dort werden auch Eigenschaften gespeichert, die man nicht übernehmen sollte (z.B. Name der Komponente)