System.Variants.TCustomVariantType.LeftPromotion

Aus Appmethod Libraries
Wechseln zu: Navigation, Suche

Object Pascal

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

C++

virtual bool __fastcall LeftPromotion(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 linke Argument einer binären Operation in einen anderen Typ umgewandelt werden soll.

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

Das linke Argument ist ein interner Variant-Typ.

Das linke Argument ist ein benutzerdefinierter Variant-Typ, der mit TCustomVariantType kompatibel ist.

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 links 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 linke 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.

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

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

Siehe auch