Search code examples
delphidirectivecompiler-directives

What is the meaning of {$C PRELOAD} directive?


I found this directive declared in Controls.pas (and also in other units) and I'll be glad to know what does it mean.

{$C PRELOAD}

As far as I know $C means assertions control but what is the PRELOAD keyword ? Is it something like "assert me at preloading time" ?

I found this in Delphi 2009

Thank you


Solution

  • The $C directive is called Code segment attribute and in conjuntion with the keywords MOVEABLE, FIXED, DEMANDLOAD, PRELOAD, DISCARDABLE, PERMANENT changues the attributes of a code segment.

    {$C MOVEABLE DEMANDLOAD DISCARDABLE} // this is setting  Code Segment Attribute.
    

    if you use the $C directive with a + or - you are using enabling or disabling the generation of code for assertions.

    example :

    {$C+}    { Assertions - On }