E2148 Dynamische oder Botschaftsmethoden sind hier nicht erlaubt (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Dynamische und Botschaftenmethoden können nicht als Zugriffsfunktionen für Eigenschaften benutzt werden.
program Produce; type Base = class v : Integer; procedure SetV(x : Integer); dynamic; function GetV : Integer; message; property Velocity : Integer read GetV write v; property Value : Integer read v write SetV; end; procedure Base.SetV(x : Integer); begin v := x; end; function Base.GetV : Integer; begin GetV := v; end; begin end.
Sowohl Velocity als auch Value in diesem Beispiel sind fehlerhaft, da beiden Eigenschaften unzulässige Zugriffsfunktionen zugewiesen wurden.
program Solve; type Base = class v : Integer; procedure SetV(x : Integer); function GetV : Integer; property Velocity : Integer read GetV write v; property Value : Integer read v write SetV; end; procedure Base.SetV(x : Integer); begin v := x; end; function Base.GetV : Integer; begin GetV := v; end; begin end.
Als Lösung wurden in diesem Beispiel die betreffenden Compileranweisungen aus den Deklarationen der Prozeduren entfernt; dies könnte allerdings in Ihrem speziellen Fall nicht von Nutzen sein. Eventuell müssen Sie die Logik Ihres Programms einer genauen Untersuchung unterziehen, um festzustellen, auf welche Weise Sie am besten Zugriffsfunktionen für die Eigenschaften zur Verfügung stellen können.