E2160 Type non autorisé dans un appel OLE Automation (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Messages d'erreur et d'avertissement (Delphi)

Si un type de données ne peut pas être converti par le compilateur en Variant, il n'est alors pas autorisé dans OLE automation.


program Produce;

  type
    Base = class
      x: Integer;
    end;

  var
    B: Base;
    V: Variant;

begin
  V.Dispatch(B);
end.

Une classe ne peut pas être convertie en type Variant, ainsi elle n'est pas autorisée dans un appel OLE.


program Solve;


  type
    Base = class
      x: Integer;
    end;

  var
    B: Base;
    V: Variant;

begin
  V.Dispatch(B.i);
end.

La seule solution à ce problème consiste à convertir manuellement ces types de données en variants ou de n'utiliser que les types de données pouvant être automatiquement convertis en variant.