Conditionele compilatie sgcWebSockets

· Installatie

De sgcWebSockets-bibliotheek heeft een configuratiebestand in de source-map dat alle conditionele compilaties bevat. Dit bestand heet sgcVer.inc.

Als je dit bestand opent, zie je dat er veel conditionele defines zijn — voor elke Delphi- of C++Builder-versie een hele reeks. Voor RAD Studio 10.3 zijn dit er bijvoorbeeld:


{$IFDEF VER330} { Delphi  10.3 }
  {$DEFINE D2006}
  {$DEFINE D2007}
  {$DEFINE D2009}
  {$DEFINE D2010}
  {$DEFINE DXE}
  {$DEFINE DXE2}
  {$DEFINE DXE3}
  {$DEFINE DXE4}
  {$DEFINE DXE5}
  {$DEFINE DXE6}
  {$DEFINE DXE7}
  {$DEFINE DXE8}
  {$DEFINE D10}
  {$DEFINE D10_1}
  {$DEFINE D10_2}
  {$DEFINE D10_3}
  {$DEFINE INDY10_1}
  {$DEFINE INDY10_2}
  {$DEFINE INDY10_5_5}
  {$DEFINE INDY10_5_7}
  {$DEFINE INDY10_6}
  {$DEFINE INDY10_6_2_5366}
  {$IFNDEF BCB}
    {$IFNDEF MACOS}
    {$IFNDEF ANDROID}
      {.$DEFINE IWIX}
      {.$DEFINE IWXI}
      {.$DEFINE IWXIV}
    {$ENDIF}
    {$ENDIF}
    {$IFNDEF NEXTGEN}
      {$DEFINE SGC_JSON_INTF}
    {$ENDIF}
  {$ENDIF}
{$ENDIF}

Compiler-blokken

De eerste directives hebben betrekking op de IDE-versie — elke IDE-versie heeft zijn eigen compiler. Het wordt meestal niet aangeraden om deze te wijzigen.

Daarna staan er een aantal directives die betrekking hebben op de Indy-versie. Standaard is sgcVer.inc geconfigureerd om te werken met de Indy-versie die bij RAD Studio wordt meegeleverd, maar soms is het handig om Indy bij te werken naar de nieuwste versie. Hier kun je instellen welke Indy-versie je gebruikt door de bijbehorende compiler-directives te activeren of uit te commentariëren.

Tot slot zijn er enkele compiler-directives voor Intraweb. Intraweb is in nieuwere versies feitelijk afgeschaft en standaard niet meer nodig, maar als je Intraweb-componenten wilt gebruiken, kun je hier instellen welke Intraweb-versie je gebruikt.