System.Rtti.TInterceptBeforeNotify
Delphi
TInterceptBeforeNotify = reference to procedure(Instance: TObject;
Method: TRttiMethod; const Args: TArray<TValue>; out DoInvoke: Boolean;
out Result: TValue);
C++
__interface TInterceptBeforeNotify : public System::IInterface
Eigenschaften
| Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
|---|---|---|---|---|
anonMethod class |
public | System.Rtti.pas System.Rtti.hpp |
System.Rtti | System.Rtti |
Beschreibung
Typ der Ereignisbehandlungsroutine System.Rtti.TVirtualMethodInterceptor.OnBefore.
Mit TInterceptAfterNotify implementieren Sie die Ereignisbehandlungsroutine OnBefore, um den Aufruf einer geerbten Methode zu verhindern.
Setzen Sie DoInvoke auf False, um den Aufruf der geerbten virtuellen Methode zu verhindern, oder setzen Sie DoInvoke auf True (Vorgabe), um den Aufruf zuzulassen.
Args ist die Liste der an die virtuelle Methode übergebenen Argumente.
Values in diesem Array können bearbeitet werden, um die an die geerbte Implementierung übergebenen Argumente zu ändern.
Method ist das RTTI-Objekt, das zu der für die Instanz aufgerufenen virtuellen Methode gehört.
Wenn DoInvoke auf False gesetzt ist (damit die geerbte Implementierung unterdrückt wird), sollte Result auf den gewünschten Rückgabewert der Methode gesetzt werden. Der Standardwert ist TValue.Empty, was in 0, nil, '' oder den entsprechenden leeren Wert des Rückgabetyps umgewandelt wird.
Instance ist die Instanz, für die eine virtuelle Methode aufgerufen wurde.