Abrufen des RTTI-Kontextes

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Mit RTTI arbeiten

RTTI-Informationen werden in der compilierten Binärdatei gespeichert. RTTI-Informationen benötigen also keine eigentliche Initialisierung. Trotzdem kann die Arbeit mit diesen Rohinformationen ziemlich entmutigend sein; daher stellt die Delphi-RTL die Unit System.Rtti bereit. System.Rtti erzeugt eine saubere, objektorientierte API, die in Anwendungen einfach eingesetzt werden kann. Eine weitere Erleichterung für Entwickler ist ein spezieller Record (TRttiContext) in der Unit RTTI, der die Lebensdauer aller Objekte verwaltet, die während einer RTTI-Arbeitssitzung erstellt wurden.

TRttiContext kann als Eckpfeiler der RTTI-API angesehen werden; alle Abfragen von Typinformationen werden über diesen Record ausgeführt. TRttiContext ist auch für die Lebensdauerverwaltung aller über TRttiContext erstellten Objekte verantwortlich.

Zum Abrufen eines TRttiContext müssen Sie die statische Methode TRttiContext.Create verwenden:

var
    LContext: TRttiContext;

begin
    { Den RTTI-Kontext ermitteln }
    LContext := TRttiContext.Create();

    // ...

    LContext.Free;
end.
#include <Rtti.hpp>
// ...

int _tmain(int argc, _TCHAR* argv[]) {
    // Den RTTI-Kontext ermitteln
    TRttiContext context;

    // ...
    
    return 0;
}

Beachten Sie bitte, dass Aufrufe von TRttiContext.Create und TRttiContext.Free für die normale Ausführung von TRttiContext-Instanzen nicht erforderlich sind. Trotzdem wird empfohlen, dass Sie Create aufrufen, um den RTTI-Kontext zu initialisieren und Free, um ihn sofort wieder freizugeben.

Siehe auch