E2176 Ungültiger Typ im OLE-Automatisierungsbereich: '%s' (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

<Element> ist kein im Abschnitt automated zulässiger Typ. In automated-Abschnitten ist nur eine begrenzte Auswahl der gültigen Delphi-Typen zulässig.


program Produce;

  type
    Base = class
      function GetC : Char;
      procedure SetC(c : Char);
    automated
      property Ch : Char read GetC write SetC dispid 151;
    end;

  procedure Base.SetC(c : Char);
  begin
  end;

  function Base.GetC : Char;
  begin GetC := '!';
  end;

begin
end.

Da der Zeichentyp nicht im Abschnitt automated zulässig ist, löst die Deklaration von Ch bei der Compilierung einen Fehler aus.


program Solve;

  type
    Base = class
      function GetC : String;
      procedure SetC(c : String);
    automated
      property Ch : String read GetC write SetC dispid 151;
    end;

  procedure Base.SetC(c : String);
  begin
  end;

  function Base.GetC : String;
  begin GetC := '!';
  end;

begin
end.

Es gibt zwei Lösungen für dieses Problem. Zum einen kann die betreffende Deklaration aus dem Abschnitt automated herausgebracht werden. Zum anderen kann der betreffende Typ in einen Typ geändert werden, der in einem Abschnitt automated zulässig ist.