Einzelnen Beitrag anzeigen

bttb930

Registriert seit: 6. Okt 2003
372 Beiträge
 
#7

Re: Records, Pointer, Listen & Co.

  Alt 22. Sep 2006, 11:26
Das Überschreiben ist in diesem Fall aber gefährlich, da die Methode Add NICHT als virtual deklariert ist. Das heißt Du kannst in Deinem Beispiel per Liste.Add(...) zwar nur TMyDatas in die Liste eintragen, per (Liste as TObjectList).Add(...) aber beliebige TObjects. Und das passiert schneller als man denkt, nicht unbedingt durch expliziten TypeCast aber etwa wenn Du eine andere Prozedur hast, die als Parameter eine TObjectList erwartet. Der könntest Du Deine TMyList übergeben (ist ja eine TObjectList), wenn diese Prozedur aber Add aufruft, dann eben nicht TMyList.Add sondern TObjectList.Add.
  Mit Zitat antworten Zitat