On 06/08/2014 08:48, Alex Peshkoff wrote: >> , but I see a more big problem. >> >> The implementation rely on method shadowing. >> >> So if I have >> >> Impl : Interface >> { >> void method1() >> { >> method2(); >> } >> >> method2() >> { >> } >> } >> >> and >> >> ImplSpecialization : Impl // Not supported by yours headers, but >> should be IMO >> { >> method2() >> { >> } >> } >> >> When calling method1() from ImplSpecialization instance, it will call >> Impl::method2 instead of ImplSpecialization::method2. Do you have some >> suggestion for this? > I've tried to emulate it and see no problems. > > It's not the same thing I talked about.
To emulate it, in your Base, you must have a method calling (via C++) another interface (C++) method. It will call the static method. Then create a Inherited from Base and override the called method, but it will override only via the C vtable, but not in the Base callee method. Adriano ------------------------------------------------------------------------------ Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel