Kompilacja warunkowa w sgcWebSockets

· Instalacja

Biblioteka sgcWebSockets ma plik konfiguracyjny w folderze źródłowym zawierający wszystkie kompilacje warunkowe. Jest to plik sgcVer.inc.

Po otwarciu tego pliku zobaczysz wiele definicji warunkowych — zasadniczo dla każdej wersji Delphi / C++ Builder jest zestaw definicji. Dla przykładu, dla Rad Studio 10.3 dostępne są następujące:


{$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 Blocks

Pierwsze dyrektywy odnoszą się do wersji IDE — każda wersja IDE ma swój własny kompilator. Zazwyczaj nie zaleca się ich zmieniania.

Następnie są dyrektywy dotyczące wersji Indy. Domyślnie plik sgcVer.inc jest skonfigurowany do pracy z wersją Indy dostarczoną z Rad Studio, ale czasami warto zaktualizować bibliotekę Indy do najnowszej wersji. Tutaj możesz dostosować, która jest Twoja wersja Indy i zakomentować lub odkomentować odpowiednie dyrektywy.

Na końcu znajdują się dyrektywy dla Intraweb. W nowszych wersjach Intraweb jest przestarzały i domyślnie niepotrzebny, ale jeśli chcesz używać komponentów Intraweb, możesz tu skonfigurować swoją wersję Intraweb.