Unäre Operationen implementieren
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.