Programowanie w języku Delphi

Dyrektywy kompilatora

DyrektywaOpis
$AOkreśla wyrównanie bajtów w rekordach
$ALIGNOkreśla wyrównanie bajtów w rekordach
$APPTYPEOkreśla typ aplikacji (GUI lub konsolowa)
$B
$BOOLEVALOkreśla wyrównanie bajtów w rekordach
$DOkreśla czy generować informacje dla debugera
$DEBUGINFOOkreśla czy generować informacje dla debugera
$DEFINEUmożliwia ustawienie symbolu warunkowego
$DEFINITIONINFO
$ELSESekcja alternatywna dla $IFDEF
$ENDIFZakończenie sekcji warunkowej
$EXTENDEDSYNTAXUmożliwia wlączenie pewnych elementów języka charaterystycznych dla języka Pascal
$HOkreśla czy traktować typ String jako długi łańcuch czy łancuch o ograniczonej długości (ShortString)
$HINTSOkreśla czy kompilator ma pokazywać wskazówki
$IUmożliwia włączenie do projektu dodatkowego pliku
$IFDEFPoczątek sekcji warunkowej
$IFNDEFPoczątek sekcji warunkowej
$IFOPTUmożliwia sprawdzenie wartości danej dyrektywy
$INCLUDEUmożliwia włączenie do projektu dodatkowego pliku
$IOCHECKSUmożliwia przechwytywanie błędów I/O
$LUmożliwia generowanie informacji o symbolach programu (zmiennych, stałych, modułach)
$LOCALSYMBOLSUmożliwia generowanie informacji o symbolach programu (zmiennych, stałych, modułach)
$LONGSTRINGSOkreśla czy traktować typ String jako długi łańcuch czy łancuch o ograniczonej długości (ShortString)
$MINENUMSIZEOkreśla min. ilość pamięci jaką zajmować będzie lista wyliczeniowa
$OOkreśla czy kod będzie optymalizowany w trakcie kompilacji
$OPTIMIZATIONOkreśla czy kod będzie optymalizowany w trakcie kompilacji
$OVERFLOWCHECKSOkreśla czy sprawdzana będzie wartość przypisywana do typów liczbowych (czy nie przekraczają określonego zakresu)
$QOkreśla czy sprawdzana będzie wartość przypisywana do typów liczbowych (czy nie przekraczają określonego zakresu)
$ROkreśla czy sprawdzany będzie zakres tablic w trakcie przypisywania wartości
$RANGECHECKSOkreśla czy sprawdzany będzie zakres tablic w trakcie przypisywania wartości
$REFERENCEINFO
$RESOURCEUmożliwia włączenie odpowiednich plików zasobów
$SCOPEDENUMSUmożliwia włączenie podania typu wyliczeniowego przed jego wartością
$UNDEFUsunięcie wcześniej zadeklarowanego symbolu
$WARNINGSOkreśla czy kompilator będzie wyświetlał ostrzeżenia
$XUmożliwia wlączenie pewnych elementów języka charaterystycznych dla języka Pascal
$Y
$ZOkreśla min. ilość pamięci jaką zajmować będzie lista wyliczeniowa
  1. Kafelki
  2. Lista

$I

$INCLUDE

$IOCHECKS

$O

$OPTIMIZATION

$H

$LONGSTRINGS

$R

$RANGECHECKS

$RESOURCE

$HINTS

$WARNINGS

$APPTYPE

$DEFINE

$UNDEF

$IFDEF

$ELSE

$ENDIF

$ELSEIF

$IFEND

5 komentarzy

m_Lesiu 2016-06-13 11:01

$M-
The $M switch directive controls generation of runtime type information (RTTI). When a class is declared in the {$M+} state, or is derived from a class that was declared in the {$M+} state, the compiler generates runtime type information for properties and events that are declared in a published section. If a class is declared in the {$M+} state, and is not derived from a class that was declared in the {$M} state, published sections are not allowed in the class. Note that if a class is forward declared, the first declaration of the class must be declared with the $Mswitch.

Patryk27 2010-12-07 21:17

'A jest jakaś dyrektywa pozwalająca generować kod w formacie innym niż Windowsowe EXE?'
'Raczej nie. Od tego jest Kylix lub Lazarus.'

OMG. Przecież w Delphi można jeszcze wykompilować (hura, nowe słowo) DLL. ;)

wiatrak_ 2009-06-07 15:55

Raczej nie. Od tego jest Kylix lub Lazarus.

kempa65 2009-06-06 17:34

A jest jakaś dyrektywa pozwalająca generować kod w formacie innym niż Windowsowe EXE?

tomalla 2007-01-04 15:06

Adam, a co znaczy  $J+ ? Podobno "umożliwia modyfikację stałych". Ale na Delphi 6 mi to nie działa - tylko na delphi 2005 :/ Możesz mi to wytłumaczyć?