On 10/12/2015 03:13 AM, Graeme Geldenhuys wrote:
t_multiplier_and_adder = class (tbase, i_adder, i_multiplier)

Thanks for this recommendation-- the problem is that I have a list whose elements are each i_multiplier_and_adder, and I want to be able to take an element of that list and have the full capability. So separating i_multiplier from i_adder creates a different problem.

The other recommendation was essentially to make a proper delegate that is not an instance of the ancestor interface. But that doesn't work for me, because -- as I wrote initially -- I have one instance of the ancestor, and multiple instances of the child that need to work differently for their own stuff but all call on the one singular ancestor instance for its interface.

So far I have not figured out how to typecast an interface into its implementing class, which would be an alternate solution for my particular situation.

For the time being, I guess there's no shortcut - I just have to implement all of the i_adder methods in i_multiplier_and_adder, and have them call the same method in the "hook" which is unable to be a delegate.

Thanks for your responses, all!

~David.



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

Reply via email to