<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: [api wish] Win specific API wish ( __fastcall ) in Archicad C++ API</title>
    <link>https://community.graphisoft.com/t5/Archicad-C-API/api-wish-Win-specific-API-wish-fastcall/m-p/27651#M7867</link>
    <description>&lt;BLOCKQUOTE&gt;Andras wrote:&lt;BR /&gt;Hi Oleg, &lt;BR /&gt;
 &lt;BR /&gt;
Could you point out those functions which don't have a calling convention set?&lt;/BLOCKQUOTE&gt;

You mean DGAlert macros, but I meant the Alert function in DG namespace ( DG::Alert,  It is in DGModule.hpp ).&lt;BR /&gt;
DGModule.hpp contains number of functions starting from InitModule and up to the end of the file which are declared without calling convention.&lt;BR /&gt;
In spite of what they are in namespace they are just functions as against of class members ( which use thiscall by default ).</description>
    <pubDate>Tue, 05 Oct 2004 15:06:37 GMT</pubDate>
    <dc:creator>Oleg</dc:creator>
    <dc:date>2004-10-05T15:06:37Z</dc:date>
    <item>
      <title>[api wish] Win specific API wish ( __fastcall )</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/api-wish-Win-specific-API-wish-fastcall/m-p/27649#M7865</link>
      <description>&lt;DIV class="actalk-migrated-content"&gt;Small wish for Graphisoft.&lt;BR /&gt;As far as I understand GS uses __fastcall calling convention by default for exported functions from DLL some (or all) modules.&lt;BR /&gt;Though this strange decision, but if so, it would be good if the calling convention was specified for all functions at their declaration ( like GeometryModule ). Some functions dont have it.&lt;BR /&gt;For example, if I use DG::Alert in a project I should set __fastcall for entirely project that to link it. It is not always desirable.&lt;/DIV&gt;</description>
      <pubDate>Tue, 13 Dec 2022 21:10:33 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/api-wish-Win-specific-API-wish-fastcall/m-p/27649#M7865</guid>
      <dc:creator>Oleg</dc:creator>
      <dc:date>2022-12-13T21:10:33Z</dc:date>
    </item>
    <item>
      <title>Re: [api wish] Win specific API wish ( __fastcall )</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/api-wish-Win-specific-API-wish-fastcall/m-p/27650#M7866</link>
      <description>Hi Oleg, &lt;BR /&gt;
 &lt;BR /&gt;
You're right, GS uses __fastcall by default. So if you don't see a calling convention declaration for a function, it means it uses fastcall. &lt;BR /&gt;
By quickly browsing through the API headers I couldn't find any functions which don't have a calling convention set. The one you mention (DG::Alert) is specified as: 
&lt;PRE&gt; 
short  (CCALL *dgAlert) (short alertType, const char* titleText, const char* largeText, const char* smallText, const char* button1Text, const char* button2Text, const char* button3Text); 
&lt;/PRE&gt; &lt;BR /&gt;
in the DGFunctionTable struct (DGLib/DG.h), and CCALL in turn is defined in GSRoot/Definitions.hpp as: 
&lt;PRE&gt; 
#ifndef	CCALL 
  #if defined (macintosh) 
    #define CCALL 
  #else 
    #define CCALL __cdecl 
  #endif 
#endif 
&lt;/PRE&gt; &lt;BR /&gt;
 &lt;BR /&gt;
Could you point out those functions which don't have a calling convention set?</description>
      <pubDate>Tue, 05 Oct 2004 13:57:54 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/api-wish-Win-specific-API-wish-fastcall/m-p/27650#M7866</guid>
      <dc:creator>Andras Babos</dc:creator>
      <dc:date>2004-10-05T13:57:54Z</dc:date>
    </item>
    <item>
      <title>Re: [api wish] Win specific API wish ( __fastcall )</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/api-wish-Win-specific-API-wish-fastcall/m-p/27651#M7867</link>
      <description>&lt;BLOCKQUOTE&gt;Andras wrote:&lt;BR /&gt;Hi Oleg, &lt;BR /&gt;
 &lt;BR /&gt;
Could you point out those functions which don't have a calling convention set?&lt;/BLOCKQUOTE&gt;

You mean DGAlert macros, but I meant the Alert function in DG namespace ( DG::Alert,  It is in DGModule.hpp ).&lt;BR /&gt;
DGModule.hpp contains number of functions starting from InitModule and up to the end of the file which are declared without calling convention.&lt;BR /&gt;
In spite of what they are in namespace they are just functions as against of class members ( which use thiscall by default ).</description>
      <pubDate>Tue, 05 Oct 2004 15:06:37 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/api-wish-Win-specific-API-wish-fastcall/m-p/27651#M7867</guid>
      <dc:creator>Oleg</dc:creator>
      <dc:date>2004-10-05T15:06:37Z</dc:date>
    </item>
    <item>
      <title>Re: [api wish] Win specific API wish ( __fastcall )</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/api-wish-Win-specific-API-wish-fastcall/m-p/27652#M7868</link>
      <description>You're right of course... It was my mistake. &lt;BR /&gt;
Setting calling conventions right is now on the list for the API of the next ArchiCAD version.</description>
      <pubDate>Tue, 12 Oct 2004 13:37:18 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/api-wish-Win-specific-API-wish-fastcall/m-p/27652#M7868</guid>
      <dc:creator>Andras Babos</dc:creator>
      <dc:date>2004-10-12T13:37:18Z</dc:date>
    </item>
  </channel>
</rss>

