From: Adriano d. S. F. <adr...@gm...> - 2011-03-31 13:45:55
|
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. Adriano |