On 03/31/11 17:45, Adriano dos Santos Fernandes wrote: > On 31-03-2011 10:30, Alex Peshkoff wrote: >> On 03/31/11 16:21, Vlad Khorsun wrote: >>>> On 03/31/11 15:28, Vlad Khorsun wrote: >>>>>> On the other hand I see no problems with adding that method to our >>>>>> interfaces, specially if it's needed to make Delphi people life easier. >>>>>> It does not conflict with our versioning support. >>>>> Unfortunately it is not enough. To be binary compatible with IUnknown >>>>> (not with Delphi itself but with well known stantard interface) we should >>>>> use >>>>> stdcall also. So, we can be compatible and abandon upgradeInterface, or >>>>> not compatible and don't add confusion introducing queryInterface. >>>> Vlad, if really needed we can make 3 first functions in our interface to >>>> use stdcall. This breaks nothing. >>> And all other functions still will be cdecl ? Don't looks as beauty to >>> me :( >> Vlad, I can agree that this is a bit strange, but if we forget about >> emotions - absolutely nothing bad. >> Functions from base Firebird::Interface never require upgrade - they are >> always present. > QueryInterface uses GUIDs, and an interface with a GUID should not change. > > This is not conceptually compatible with our versioning scheme. Nobody said that GUID should remain the same when version changes. It's even possible to return pointer to current class on request for old GUID.
------------------------------------------------------------------------------ Create and publish websites with WebMatrix Use the most popular FREE web apps or write code yourself; WebMatrix provides all the features you need to develop and publish your website. http://p.sf.net/sfu/ms-webmatrix-sf Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel