E2183 dispid-Klausel nur im OLE-Automatisierungsbereich erlaubt (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Ein Dispid wurde einer Eigenschaft gegeben, die sich nicht in einem Abschnitt automated befindet.
program Produce; type Base = class v : integer; procedure setV(x : integer); function getV : integer; property Value : integer read getV write setV dispid 151; end; procedure Base.setV(x : integer); begin v := x; end; function Base.getV : integer; begin getV := v; end; begin end.
Dieses Programm versucht, dispid für ein OLE-Automatisierungsobjekt zu setzen, aber die Eigenschaft wurde nicht in einem Automatisierungsabschnitt deklariert.
program Solve; type Base = class v : integer; procedure setV(x : integer); function getV : integer; automated property Value : integer read getV write setV dispid 151; end; procedure Base.setV(x : integer); begin v := x; end; function Base.getV : integer; begin getV := v; end; begin end.
Um diesen Fehler zu beheben, können Sie entweder die dispid-Anweisung aus der Deklaration der Eigenschaft entfernen oder die Deklaration der Eigenschaft in einen Automatisierungsabschnitt verlegen.