Einzelnen Beitrag anzeigen

Devstructor

Registriert seit: 7. Sep 2016
4 Beiträge
 
FreePascal / Lazarus
 
#43

AW: Tutorial Interfaces

  Alt 11. Okt 2017, 07:34
Es wäre noch ganz gut, wenn man kurz das RefCounting anhand der Klassen TComponent und TInterfacedObject im Tutorial aufgreift.

Dein DataModule ist von TComponent abgeleitet, deswegen kann man innerhalb und außerhalb der Klasse ganz normal mit der Objektreferenz arbeiten, ohne mit Konsequenzen zu rechnen. Dasselbe gilt natürlich auch für Formulare und anderen Kindern von TComponent.

Ein Hinweis auf RefCounting in diesem Tutorial - oder einem nächsten – wäre aus meiner Sicht wichtig, weil sonst Objekte von TInterfacedObject bei manchen automatisch zerstört werden, sobald der RefCount auf 0 dekrementiert. Wenn man das als Anfänger nicht weiß, ist der Fehler schwer reproduzierbar. Eventuell einfach ein try finally-Block mit und ohne FreeAndNil und dann im Destructor eine Konsolenausgabe. Dann kann man sehen, dass bei TComponent das manuelle zerstören benötigt wird und bei TInterfacedObject alles von alleine passiert

LG
Miguel
  Mit Zitat antworten Zitat