[fpc-pascal] Overriding properties
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...
More information about the fpc-pascal