Am 09.07.2014 18:43 schrieb "Timothy Groves" <the.tail.kin...@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)". What exactly is your problem with using generics? Regards Sven
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal