Afficher : Delphi
C++
Préférences d'affichage
Implémentation d'opérations unaires
De RAD Studio XE2
Remonter à Utilisation de la RTL - Index
Pour que le type variant personnalisé puisse fonctionner avec les opérateurs unaires standard ( -, not), vous devez redéfinir la méthode UnaryOp. UnaryOp possède deux paramètres : la valeur de l'opérande et l'opérateur. Implémentez cette méthode pour effectuer l'opération et renvoyer le résultat en utilisant la même variable que celle qui contenait l'opérande.
Par exemple, la méthode UnaryOp suivante vient de TComplexVariantType, définie dans l'unité VarCmplx :
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;
Remarquez que pour l'opérateur logique not, qui n'a pas de sens pour des valeurs complexes, cette méthode appelle RaiseInvalidOp pour provoquer une erreur d'exécution.