E2076 Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Sie haben eine normale Methode nur durch Angabe des Klassentyps, nicht aber der Instanz aufgerufen.
Dies ist nur bei Klassenmethoden und Konstruktoren, nicht aber bei normalen Methoden und Destruktoren zulässig.
program Produce; type TMyClass = class (*...*) end; var MyClass : TMyClass; begin MyClass := TMyClass.Create; (*OK, Konstruktor*) Writeln(TMyClass.ClassName); (*OK, Klassenmethode*) TMyClass.Destroy; (*<-- Hier die Fehlermeldung*) end.
In diesem Beispiel wird versucht, den Typ TMyClass freizugeben. Dies ist nicht sinnvoll und somit unzulässig.
program Solve; type TMyClass = class (*...*) end; var MyClass : TMyClass; begin MyClass := TMyClass.Create; (*OK, Konstruktor*) Writeln(TMyClass.ClassName); (*OK, Klassenmethode*) MyClass.Destroy; (*OK, für Instanz aufgerufen*) end.
Wie Sie sehen, sollte eigentlich die Instanz und nicht der Typ selbst freigeben werden.