Direttive sulla versione del compilatore Delphi

Se hai intenzione di scrivere codice Delphi che dovrebbe funzionare con diverse versioni del compilatore Delphi, devi sapere in quali versioni viene compilato il tuo codice.

Supponiamo che tu stia scrivendo il tuo componente personalizzato commerciale. Gli utenti del tuo componente potrebbero avere versioni Delphi diverse da te. Se provano a ricompilare il codice del componente, il tuo codice, potrebbero essere nei guai! Che cosa succede se si utilizzano parametri predefiniti nelle funzioni e l'utente dispone di Delphi 3?

Direttiva del compilatore: $ IfDef

Le direttive del compilatore sono commenti speciali sulla sintassi che possiamo usare per controllare le funzionalità del compilatore Delphi. Il compilatore Delphi ha tre tipi di direttive: Sdirettive sulle streghe, direttive sui parametri e direttive condizionali. La compilazione condizionale ci consente di compilare selettivamente parti di un codice sorgente in base alle condizioni impostate.

La direttiva del compilatore $ IfDef avvia una sezione di compilazione condizionale.

La sintassi è simile a:

 $ IfDef DefName

... 

 $ Else

... 

 $ EndIf

 

Il defname presenta il cosiddetto simbolo condizionale. Delphi definisce diversi simboli condizionali standard. Nel "codice" sopra, se DefName è definito il codice sopra $ Else viene compilato.

Simboli della versione di Delphi

Un uso comune della direttiva $ IfDef è testare la versione del compilatore Delphi. L'elenco seguente indica i simboli da controllare durante la compilazione condizionale per una versione particolare del compilatore Delphi:

  • SIMBOLO - VERSIONE DEL COMPILATORE
  • VER80 - Delfi 1
  • VER90 - Delfi 2
  • Ver100 - Delfi 3
  • VER120 - Delfi 4
  • VER130 - Delfi 5
  • VER140 - Delfi 6
  • VER150 - Delfi 7
  • VER160 - Delfi 8
  • VER170 - Delfi 2005
  • VER180 - Delphi 2006
  • VER180 - Delfi 2007
  • VER185 - Delfi 2007
  • VER200 - Delfi 2009
  • VER210 - Delfi 2010
  • VER220 - Delphi XE
  • VER230 - Delphi XE2
  • WIN32 - Indica che l'ambiente operativo è l'API Win32.
  • LINUX - Indica che l'ambiente operativo è Linux
  • MSWindows - Indica che l'ambiente operativo è MS Windows / li]
  • CONSOLE - Indica che un'applicazione è stata compilata come applicazione console

Conoscendo i simboli sopra riportati è possibile scrivere codice che funziona con diverse versioni di Delphi usando le direttive del compilatore per compilare il codice sorgente appropriato per ogni versione.

Nota: il simbolo VER185, ad esempio, viene utilizzato per indicare il compilatore Delphi 2007 o una versione precedente.

Utilizzo dei simboli "VER"

È abbastanza normale (e desiderabile) per ogni nuova versione di Delphi aggiungere diverse nuove routine RTL alla lingua.

Ad esempio, la funzione IncludeTrailingBackslash, introdotta in Delphi 5, aggiunge "\" alla fine di una stringa se non è già presente. Nel progetto Delphi MP3, ho usato questa funzione e diversi lettori si sono lamentati del fatto che non possono compilare il progetto, hanno una versione di Delphi prima di Delphi 5.

Un modo per risolvere questo problema è creare la tua versione di questa routine: la funzione AddLastBackSlash. Se il progetto deve essere compilato su Delphi 5, viene chiamato IncludeTrailingBackslash. Se vengono utilizzate alcune delle versioni precedenti di Delphi, simuliamo la funzione IncludeTrailingBackslash.

Potrebbe assomigliare a: