> I also think the version checks must be automatic at least in the C++
> API, but calling getVersion in each call is not good.

   It is not good but unavoidable in current plugin architecture. The first 
thing that 
every method of every interface have to do is to check versions of every 
interface it got 
as parameters and upgrade them if necessary. Otherwise new plugins will crash 
with old 
engines/applications when use new methods.
   Upgrading causes allocation of new VMT which (AFAICS) is never released.
   Upgrading doesn't replace getVersion() address in new VMT which means that 
even 
upgraded interface will return old version and will be upgraded again and again 
on the 
next call.

-- 
   WBR, SD.

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