[fpc-pascal] Overriding properties

Timothy Groves the.tail.kinker at gmail.com
Wed Jul 9 21:40:21 CEST 2014


On 14-07-09 12:57 PM, Sven Barth wrote:
>
> Am 09.07.2014 18:43 schrieb "Timothy Groves" 
> <the.tail.kinker at gmail.com <mailto:the.tail.kinker at gmail.com>>:
> >
> > Is there any way to override the type of a property?  As an example, 
> if I have written a list class:
> >
> > type
> >     tList = class (tObject)
> >         private
> >             t_current : tObject;
> >             t_items : array of tObject;
> >         public
> >             property Current : tObject read t_current write t_current;
> >     end;
> >
> > (this example is clearly not complete) and I want to create a 
> descendant type that uses a different object, without worrying about 
> typecasting.  Is there a way to override Current?  I tried generics, 
> but using such renders me unable to access the list items' properties, 
> making it impossible to sort the list.
>
> Normally you simply declare the property anew in your child class. 
> Look at TObjectList from unit contnrs for an example.
> In your specific case you'll need a Getter-method that returns 
> "TWhatEverSubclass(inherited Current)".
>
Thanks, that helped me figure it out.
>
> What exactly is your problem with using generics?
>
I can't access properties of whatever data type I used to specialize.  
So it's difficult to write a class that contains a list, that allows me 
to sort that list.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20140709/29d59f70/attachment.html>


More information about the fpc-pascal mailing list