Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Abstrakter Fehler beim freigeben einer Komponente unter Delphi XE

  Alt 24. Aug 2012, 12:21
TAdvPanel(Hauptform.FindComponent('SatzEditPanel'+ IntToStr(PanelNr))).Free; Der Hardcast zu TAdvPanel ist unnötig.

Tritt der Fehler auch auf wenn das Free mit dieser Zeile ausgeführt wird?

  Hauptform.FindComponent('SatzEditPanel'+ IntToStr(PanelNr)).Free; Wenn der Sourcecode vorhanden ist, könnte man die eigentliche Ursache des Abstract Errors auch mit dem Debugger finden. Es wird eine abstrakte Methode aufgerufen, nur für welches Objekt das geschieht ist die Frage.

Auch ist es bei selbsterzeugten Komponenten nicht notwendig den Owner anzugeben, wenn man sie selbst wieder freigibt.

Also statt

TAdvPanel.Create(self) einfach

TAdvPanel.Create(nil)
Michael Justin
  Mit Zitat antworten Zitat