Thanks Nello, Paul & Max.  I can see that I will have to move the elements
individually, especially if the object contains other object pointers like
dynamic arrays.  Which leads to another question.  What is the best way to
clone a dynamic array with 1000's of items?  Is there a way to copy the
memory contents at the pointers location.

Cheers,
Ross.

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
> Behalf Of Nello Sestini
> Sent: Wednesday, 15 August 2001 10:24
> To: Multiple recipients of list delphi
> Subject: Re: [DUG]: Duplicate an Object & Data
> 
> 
> The "Delphi Way" of copying objects in an OOP fashion is
> often to use the AssignTo method.
> 
> Most of the the VCL objects will have virtual AssignTo methods
> already - and they will allow you to assign the value of one
> object to another.
> 
>     mySourceObject.AssignTo( myTargetObject);
> 
> This is NOT the same as pointing to the same object - you
> construct an "empty" myTargetObject (or use one you already
> have handy) and then this method copies stuff from mySourceObject.
> 
> When you derive your own object from a base that already has
> an AssignTo method you should override it.  That new virtual
> AssignTo usually calls the base class AssignTo to copy the
> inherited properties and then explicitly handles copying
> stuff specific to the derived class itself.
> 
> AssignTo is (sort of) the Delphi way of doing what C++ calls
> a "copy constructor".    (An important difference is that they
> don't get called automatically when you pass objects by value).
> 
> hope this is useful
> 
> -ns
> 
> 
> 
> 
> 
> ----- Original Message -----
> From: "Ross Levis" <[EMAIL PROTECTED]>
> To: "Multiple recipients of list delphi" <[EMAIL PROTECTED]>
> Sent: Wednesday, August 15, 2001 4:20 AM
> Subject: [DUG]: Duplicate an Object & Data
> 
> 
> > Is it possible to duplicate a static object with it's 
> contents.  I don't
> > want 2 pointers to the same object.
> >
> > Say I have an object defined like this:
> >
> > type TTest = class
> >   TestName: String;
> >   TestArray: Array of Real;
> >   TestList: TStringList;
> > end;
> >
> > var Test,Test2: TTest;
> >
> > Later a TTest is created and assigned to Test and data 
> allocated to the
> > fields.  Is there a simple way of duplicating the data and 
> assigning it to
> > Test2 without having to copy each field separately?
> >
> > Cheers,
> > Ross.
> > 
> --------------------------------------------------------------
> ------------
> -
> >     New Zealand Delphi Users group - Delphi List - 
> [EMAIL PROTECTED]
> >                   Website: http://www.delphi.org.nz
> > To UnSub, send email to: [EMAIL PROTECTED]
> > with body of "unsubscribe delphi"
> > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
> >
> 
> --------------------------------------------------------------
> -------------
>     New Zealand Delphi Users group - Delphi List - 
> [EMAIL PROTECTED]
>                   Website: http://www.delphi.org.nz
> To UnSub, send email to: [EMAIL PROTECTED] 
> with body of "unsubscribe delphi"
> Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
> 
---------------------------------------------------------------------------
    New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
                  Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL PROTECTED] 
with body of "unsubscribe delphi"
Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/

Reply via email to