Unäre Operationen implementieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Eine Klasse zur Aktivierung des selbstdefinierten Variant-Typs erzeugen


Damit der selbstdefinierte Variant-Typ mit den unären Standardoperatoren (-, not) arbeiten kann, müssen Sie die Methode UnaryOp überschreiben. UnaryOp besitzt zwei Parameter: den Wert des Operanden und den Operator. Implementieren Sie diese Methode zur Ausführung der Operation und geben Sie das Ergebnis in derselben Variablen zurück, die den Operanden enthielt.

Die folgende UnaryOp-Methode stammt z.B. aus TComplexVariantType (definiert in der Unit VarCmplx):

Delphi:

 procedure TComplexVariantType.UnaryOp(var Right: TVarData; const Operator: TVarOp);
 begin
   if Right.VType = VarType then
     case Operator of
       opNegate:
         TComplexVarData(Right).VComplex.DoNegate;
     else
       RaiseInvalidOp;
     end
   else
     RaiseInvalidOp;
 end;

Beachten Sie, dass für den logischen Operator not, der bei komplexen Werten sinnlos ist, RaiseInvalidOp aufgerufen und damit ein Laufzeitfehler hervorgerufen wird.

Siehe auch