Alex and All,

Based on Alex code, I did some changes (attached) to support:
- Avoid runtime crash if a method is missed in an implementation
- Avoid need to manually initialize the vTable
- Avoid preprocessor tricks
- Inheritance from implementations

The cost? Very low IMO.

You need to use an underline in interface methods, when
declare/implement and when calling a *inherited* method.

Example:

void MyImpl::method1_()    // Declaration, use underline
{
    method2();    // No underline here, this calls this->method2.
}

void MyImpl::method2_()    // Declaration, use underline
{
    MySuperImpl::method2_();    // Inherited/super method, use underline.
}


Adriano

Attachment: fbinterface-2.tar
Description: Binary data

------------------------------------------------------------------------------
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

Reply via email to