Hello FPC-Pascal,

Tuesday, June 16, 2009, 2:27:07 PM, you wrote:

TBC> Martin Friebe wrote:
>> There is Object.InstanceSize, which sounds as if it may be what you
>> are looking for.
>> But you have a bigger problem than that.
TBC> Thanks - i'll try that.

From my point of view a generic clone method can not and must not be
written, but for your purposes, this means your own classes, you can
derive a "TClonableObject" from "TObject" and use it for the new
classes, this function must be virtual, so you can specialize the
default clone method in each class when ref counted variables are
present or custom records, arrays, etc and of course alloc'ed
pointers. Something like:

function TClonedClonedObject.Clone(): TClonableObject;
begin
     Result:=Inherited Clone();
     //Now fixup the ref.counted strings in example, but
     //you must use pointers to avoid automatic string dispose.
end;

For sure it is not a generic function ;)

-- 
Best regards,
 JoshyFun

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to