E2177 Konstruktoren und Destruktoren sind im OLE-Automatisierungsbereich nicht zulässig (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Sie haben unzulässigerweise versucht, einen Konstruktor oder einen Destruktor in den OLE-Automatisierungsbereich einer Klassendeklaration zu stellen.


program Produce;

  type
    Base = class
    automated
      constructor HardHatBob;
      destructor  DemolitionBob;
    end;

  constructor Base.HardHatBob;
  begin
  end;

  destructor Base.DemolitionBob;
  begin
  end;

begin
end.

Es ist nicht möglich, einen Klassenkonstruktor oder -destruktor im OLE-Automatisierungsabschnitt zu deklarieren. Die Deklaration des Konstruktors und des Destruktors in diesem Quelltext lösen beide diesen Fehler aus.


program Solve;

  type
    Base = class
      constructor HardHatBob;
      destructor  DemolitionBob;
    end;

  constructor Base.HardHatBob;
  begin
  end;

  destructor Base.DemolitionBob;
  begin
  end;

begin
end.

Die einzige Lösung dieses Fehlers liegt darin, die Deklarationen aus dem Automatisierungsabschnitt herauszunehmen, wie dies in diesem Beispiel geschehen ist.