![]() |
AW: TList 10.1 Berlin vs 10.3 Rio
Zitat:
Zitat:
|
AW: TList 10.1 Berlin vs 10.3 Rio
Einiges fehlte noch und den Rest zusammenfassend mit aufgeführt.
Zitat:
also muß es rückzu genauso sein, also Pointer nach TObjekt aka
Delphi-Quellcode:
.
TObject(ele)
Zitat:
Objekte rein, Objekte raus und das alles inklusive einer funktionierenden Typprüfung. Bei Pointer mußt du ja harte Casts benutzen, womit die Typ-Prüfung des Compilers umgangen wird. Da Einzige, was der Compiler prüfen kann, ist dass sie zumindestens die gleiche Größe haben, aber ob in ele wiklich "Objekte" drin ist, kann nicht geprüft werden. Falls das nicht stimmt, kann der Code extrem schöne Fehler produzieren, welches nicht passieren würde, hätte man die Typprüfung des Compilers auf seiner Seite. Mit TList<TControl> sogar noch sicherer, da man hier gleich weiß, dass in der Liste nur Objekte sein können, welche die Visible-API enthalten. (gut, es kann sein, dass hier Visible nicht verwendet wird, aber dennoch lässt es sich auffrufen und macht dann einfach nichts ... aber es knallt wenigstens nicht) Implizit: TObjekt nach Pointer geht, da ein Objektzeiger (Variable oder Parameter) "zufällig" genauso groß wie ein Pointer ist, weil er "intern" einen Zeiger enthält, drum besitzt Delphi hier einen impliziten Cast (weil sowas oft von Entwicklern gemacht wird), aber andersrum geht es nicht, da ein Pointer nicht immer ein Objekt-Zeiger sein muß und es sich auch nicht 100% sicher prüfen lässt, ob es so ist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz