You don't make clear how you distinguish a "cloned" object from a "duplicated" object.Will the new object have properties with identical values to some other object?To create a new object you simply writeCode: Pascal [Select][+][-] newVisualObject := TVisualObject.Create(...);