E2160 Typ in einem OLE-Automatisierungsaufruf nicht erlaubt (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Ein Datentyp, der vom Compiler nicht in einen Variant-Typ konvertiert werden kann, ist in einem Aufruf der OLE-Automatisierung nicht zulässig.


program Produce;

  type
    Base = class
      x: Integer;
    end;

  var
    B : Base;
    V : Variant;

begin
  V.Dispatch(B);
end.

Eine Klasse kann nicht in einen Variant-Typ konvertiert werden und ist daher in einem OLE-Aufruf nicht zulässig.


program Solve;


  type
    Base = class
      x: Integer;
    end;

  var
    B : Base;
    V : Variant;

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

Die einzige Lösung für dieses Problem ist die manuelle Konvertierung dieser Datentypen in den Typ Variant bzw. die ausschließliche Verwendung von Datentypen, die automatisch in den Typ Variant konvertiert werden können.