Kääntäjädirektiivit ovat erityisiä syntaksikommentteja, joita voimme käyttää ohjaamaan Delphi-kääntäjän ominaisuuksia. Delphi-kääntäjällä on kolmen tyyppisiä direktiivejä: snoidadirektiivit, parametridirektiivit ja ehdolliset direktiivit. Ehdollisen kokoamisen avulla voimme koota selektiivisesti lähdekoodin osia asetettujen ehtojen mukaan.
DefName esittelee ns. ehdollisen symbolin. Delphi määrittelee useita vakioehdollisia symboleja. Edellä olevassa "koodissa", jos DefName on määritelty, yllä oleva koodi $ Else saa käännettyä.
$ IfDef -direktiivin yleinen käyttö on testata Delphi-kääntäjän versio. Seuraava luettelo osoittaa symbolit, jotka on tarkistettava kääntäessäsi ehdollisesti tiettyä Delphi-kääntäjän versiota:
Huomaa: Esimerkiksi symbolia VER185 käytetään osoittamaan Delphi 2007 -kääntäjä tai aikaisempi versio.
Esimerkiksi Delphi 5: ssä käyttöön otettu IncludeTrailingBackslash-toiminto lisää merkkijonon loppuun "\", jos sitä ei ole jo olemassa. Olen käyttänyt Delphi MP3 -projektissa tätä toimintoa ja useat lukijat ovat valittaneet, etteivät he pysty kokoamaan hanketta - heillä on jokin Delphi-versio ennen Delphi 5: tä.
Yksi tapa ratkaista tämä ongelma on luoda oma versio tästä rutiinista - AddLastBackSlash-toiminto. Jos projekti tulisi kääntää Delphi 5: lle, kutsutaan IncludeTrailingBackslash. Jos joitain aikaisemmista Delphi-versioista käytetään, simuloimme IncludeTrailingBackslash-toimintoa.
Delphi 2007 käyttää VER180: ta ylläpitämättömän yhteensopivuuden ylläpitämiseksi Delphi 2006: een ja sen jälkeen lisää VER185 kehitykseen, jonka on erityisesti kohdistettava Delphi 2007 mihin tahansa syy. Huomautus: Aina, kun yksikön käyttöliittymä muuttaa sitä yksikköä käyttävää koodia, on käännettävä uudelleen.