On 04/07/11 17:23, Daniel Rail wrote:
> Hi,
>
> At April-07-11, 9:44 AM, Dmitry Yemanov wrote:
>
>> I believe some form of queryInterface/upgradeInterface is required in
>> the API. But I don't think we should mimic IUnknown precisely without 
>> really strong reasons. First of all, we don't need GUIDs as interface 
>> version identifiers, as our objects are limited to Firebird only usage.
>> And if Delphi is the only reason to be binary compatible with IUnknown,
>> then I'm against it. Times change and now I'd pay more attention to 
>> Java/.NET along with Python/PHP/whatever than think how to please those
>> poor Delphi users ;-)
> Whatever the new style of the Firebird API will be, I'm sure that
> Delphi will be able to handle it, as long as the data connection
> developers(IB Objects, FIB Plus, Upscene, Embarcadero, Devart and
> others) are kept in the loop. And, I've just learned that the new
> Delphi 64-bit compiler(hopefully released later this year) will only
> use fastcall for DLL interfaces(even Microsoft has that same
> restriction for 64-bit). I remember at one point in all of this
> discussion, there was talks about stdcall and cdecl for the DLL
> interfaces, but with Delphi 64-bit, it will only support fastcall.
> And, fastcall is also supported by Delphi 32-bit.

Moreover, linux is also using fastcall for 64-bit modules. But fastcall
is much different from both cdecl and stdcall, moreover it's a kind of
other 'dimension' in calling conventions world. I.e. first N
register-size parameters (N=6 for linux) are passed not on stack, but in
CPU's registers. But for remaining (if we have >6) stdcall/cdecl once
more comes to play - should stack pointer be restored by caller or by
function?


------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to