Die sgcWebSockets-Bibliothek besitzt eine Konfigurationsdatei im Quellordner, die alle bedingten Kompilierungen enthält. Diese Datei heißt sgcVer.inc.
Wenn du diese Datei öffnest, siehst du dort viele bedingte Defines. Im Grunde gibt es für jede Delphi- / C++ Builder-Version eine Reihe bedingter Defines. Für Rad Studio 10.3 sind das beispielsweise die folgenden:
{$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-Blöcke
Die ersten Direktiven beziehen sich auf die IDE-Version: Jede IDE-Version besitzt ihren eigenen Compiler. Normalerweise ist es nicht empfehlenswert, diese zu ändern.
Anschließend folgen einige Compiler-Schalter, die sich auf die Indy-Version beziehen. Standardmäßig ist sgcVer.inc so konfiguriert, dass es mit der Indy-Version arbeitet, die mit Rad Studio ausgeliefert wird. Manchmal ist es jedoch sinnvoll, die Indy-Bibliothek auf die neueste Version zu aktualisieren. Hier kannst du anpassen, welche Indy-Version du verwendest, und diese Compiler-Direktiven entsprechend ein- oder auskommentieren.
Zuletzt gibt es einige Compiler-Direktiven für Intraweb. Intraweb wurde in späteren Versionen abgekündigt und ist standardmäßig nicht erforderlich. Wenn du jedoch Intraweb-Komponenten nutzen möchtest, kannst du hier konfigurieren, welche Intraweb-Version du verwendest.
