On 04/10/12 09:19, Mattias Gaertner wrote:
On Thu, 04 Oct 2012 00:33:07 +0300
patspiper <[email protected]> wrote:
Hi,
What is the correct way to clone programmatically a component, ie assign
all its properties to another component of the same class (like the IDE
designer's copy/paste)?
The code below used to work in Delphi but does not with Lazarus (result
is nil).
RegisterClass(TMyComponent);
Clipboard.SetComponent(MyComponent);
Result:= TMyComponent(Clipboard.GetComponent(Self, Self));
It should work in Lazarus too.
It does not. It seems due to the fact that TClipboard.GetComponent uses
pcfComponent while TClipboard.SetComponent uses pcfCustomData instead.
Substituting pcfCustomData by pcfComponent did the job, but then the
copied (original) component seems to lose its events. I will test
further and report.
Stephano
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus