System.Variants.TCustomVariantType.RightPromotion

Aus Appmethod Libraries
Wechseln zu: Navigation, Suche

Object Pascal

function RightPromotion(const V: TVarData; const Operator: TVarOp;  out RequiredVarType: TVarType): Boolean; virtual;

C++

virtual bool __fastcall RightPromotion(const TVarData &V, const int Operator, /* out */ System::Word &RequiredVarType);

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function protected
System.Variants.pas
System.Variants.hpp
System.Variants TCustomVariantType

Beschreibung

Gibt an, ob das rechte Argument einer binären Operation in einen anderen Typ umgewandelt werden soll.

Durch Überschreiben von RightPromotion können Sie angeben, ob das rechte Argument einer Binäroperation vor der Operation explizit in einen anderen Typ umgewandelt werden soll. RightPromotion wird automatisch aufgerufen, wenn das rechte Argument einer Binär- oder Vergleichsoperation den Typ Variant hat.

Anmerkung:  In Operationen mit zwei benutzerdefinierten Varianten wird zuerst die Methode RightPromotion des linken Arguments aufgerufen. Die MethodeLeftPromotion des rechten Arguments wird anschließend nur aufgerufen, wenn RightPromotion den Wert false zurückgibt.

V ist ein Record (TVarData) mit den Daten des linken Arguments.

Operator gibt die Art der Operation an. Der Parameter kann einen der folgenden Werte annehmen:



Wert Operation

opAdd

Addition

opSubtract

Subtraktion

opMultiply

Multiplikation

opDivide

Gleitkommadivision

opIntDivide

Ganzzahlige Division

opModulus

Rest

opShiftLeft

Bitweise nach rechts schieben

opShiftLeft

Bitweise nach rechts schieben

opAnd

Bitweises and

opOr

Bitweises or

opXor

Bitweises X-Oder

opCompare

Beliebige Vergleichsoperation



RequiredVarType gibt den Typcode des Variant-Typs zurück, in den das rechte Argument vor der Operation umgewandelt werden soll. Kann die Operation ohne Typkonvertierung durchgeführt werden, wird in RequiredVarType das Feld VType des Parameters V zurückgegeben.

RightPromotion gibt true zurück, wenn die Operation (mit der Methode BinaryOp, CompareOp oder Compare) durchgeführt und das rechte Argument in RequireVarType konvertiert werden kann. Andernfalls wird false zurückgegeben.

In TCustomVariantType gibt RightPromotion den Wert der Eigenschaft VarTypein RequiredVarType und den Rückgabewert true zurück.

Siehe auch