Laufzeit-Typinformationen (Delphi)
Nach oben zu Liste der Delphi-Compiler-Direktiven - Index
Typ |
Option |
Syntax |
{$M+} oder {$M-} {$TYPEINFO ON} oder {$TYPEINFO OFF} |
Vorgabe |
{$M-} {$TYPEINFO OFF} |
Bereich |
Lokal |
Die Compiler-Direktive {$M} steuert die Erzeugung der Laufzeit-Typinformationen (RTTI). Wenn eine Klasse im Status {$M+} deklariert wurde oder von einer Klasse abgeleitet ist, die im Status {$M+} deklariert wurde, erzeugt der Compiler Laufzeit-Typinformationen für Felder, Methoden und Eigenschaften, die in einem published-Abschnitt deklariert sind. Ist eine Klasse im Status {$M+} deklariert und nicht von einer Klasse abgeleitet, die im Status {$M} deklariert wurde, sind published-Abschnitte in dieser Klasse nicht erlaubt. Wenn eine Klasse als forward deklariert ist, muss in der ersten Klassendeklaration $M angegeben werden.
Wenn eine Schnittstelle mit dem Schalter $M deklariert wird, erzeugt der Compiler für alle Eigenschaften und Methoden Laufzeit-Typinformationen. Daher werden bei Schnittstellen alle Elemente so behandelt, als ob sie als published deklariert sind.
Die direkte Verwendung der Direktive {$M} ist in einer Anwendung nur sehr selten erforderlich.