System.TypInfo.SetPropValue

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

procedure SetPropValue(Instance: TObject; const PropName: string; const Value: Variant);
procedure SetPropValue(Instance: TObject; PropInfo: PPropInfo; const Value: Variant);

C++

extern DELPHI_PACKAGE void __fastcall SetPropValue(System::TObject* Instance, const System::UnicodeString PropName, const System::Variant &Value)/* overload */;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
procedure
function
public
System.TypInfo.pas
System.TypInfo.hpp
System.TypInfo System.TypInfo


Beschreibung

Setzt den Wert einer Komponenteneigenschaft mithilfe eines Variant-Wertes.

SetPropValue verwendet die RTTI (Laufzeittypinformationen) von Delphi, um den Wert einer Komponenteneigenschaft mithilfe eines Variant-Wertes zu setzen.

In einer Form dieser Funktion wird die Eigenschaft des Instance-Objekts durch einen PropInfo-Record definiert. GetPropInfo und GetPropList können zur Ermittlung eines solchen Records verwendet werden.

In der anderen Form dieser Funktion wird der Name der Eigenschaft, PropName, explizit angegeben.

In beiden Formen der Funktion wird der neue Eigenschaftswert durch Value definiert.

Normalerweise ist der Parameter Value der Rückgabewert von GetPropValue. Wenn Sie einen anderen Variant-Wert verwenden, müssen Sie die Variant-Daten und den Typ der Eigenschaft überprüfen.

Normalerweise kann der Typ Variant die Typen TObject, Menge, Methodenzeiger und Klasse nicht speichern. GetPropValue und SetPropValue können diese Typen aber behandeln. In diesen Fällen kann SetPropValue die Eigenschaften der Typen TObject, Menge, Methodenzeiger und Klasse ändern.

Wenn der Parameter Value nicht der Rückgabewert von GetPropValue ist und der Eigenschaftstyp entweder TObject, Menge, Methodenzeiger oder Klasse ist, ist das Ergebnis nicht definiert.

Der intrinsische Wert dieser Funktion ermöglicht das Setzen der Komponenteneigenschaften, ohne dass der Eigenschaftsname hart-codiert sein muss. Dadurch wird die Massenverarbeitung visueller Komponenten zur Laufzeit ermöglicht.

Hinweise:

  • Wenn die angegebene Eigenschaft nicht vorhanden oder keine published-Eigenschaft ist, wird eine EPropertyError-Exception ausgelöst.
  • Mit SetVariantProp setzen Sie eine Eigenschaft mit dem Typ Variant.

Siehe auch