On 11/08/2014 09:45, Alex Peshkoff wrote: > On 08/08/14 20:47, Adriano dos Santos Fernandes wrote: > > At least I have time to answer tech question. What a luck!
Sure. >> Automatic vtable upgrade is ok for me, provided we have a trust-able and >> reliable way to add them. >> >> Attached a demo for it, search for "upgrade". I implemented dummy >> PluginModule for the demo. >> >> It works provided that who called the method that returned the new >> object was compiled together (or with the same API version) of who is >> calling the object method. In most of cases I'd imagine, this is true. >> >> What do you think? > Currently I do not know other usages. > > Some small detail - it's better to upgrade to the current version at > once to avoid upgrading first to 4, next to 5, etc. Sure. >> But there may be more cases, like passing a [in]/out parameter, but may >> be possible in C++. > May you be a bit more explicit here? > If it's about passing interface as parameter - yes, version > check/upgrade is needed here. > But I do not catch how you differ for interface is it in or out? > With pointers to pointers. Imagine something like this: void execute(/* in-out */ ITransaction** transaction); ITransaction* transaction = ...; execute(&transaction); AFAIK we currently does not have this, however. Adriano ------------------------------------------------------------------------------ Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel