Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Automatische Referenzzählug bei Interfaces (https://www.delphipraxis.net/208845-automatische-referenzzaehlug-bei-interfaces.html)

freimatz 21. Sep 2021 16:52

AW: Automatische Referenzzählug bei Interfaces
 
Ginge nicht auch "var meinTerm := TTerm.Create() as ITerm"?

jaenicke 22. Sep 2021 16:23

AW: Automatische Referenzzählug bei Interfaces
 
Zitat:

Zitat von freimatz (Beitrag 1495215)
Ginge nicht auch "var meinTerm := TTerm.Create() as ITerm"?

Sicher kann man so etwas machen. Aber ich sehe den Vorteil solcher Verbiegungen nicht...

Wenn man unbedingt Inline-Variablen nehmen muss, dann sollte man zumindest auf Type Inference verzichten:
Delphi-Quellcode:
var meinTerm: ITerm := TTerm.Create;

freimatz 23. Sep 2021 06:48

AW: Automatische Referenzzählug bei Interfaces
 
Zitat:

Zitat von jaenicke (Beitrag 1495268)
Sicher kann man so etwas machen. Aber ich sehe den Vorteil solcher Verbiegungen nicht...

Bei inline variablen sicher nicht. Wenn die variable z.B. jedoch ein member einer Klasse ist und in einer Methode dazu eine Instanz erzeugt wird, dann mache ich das gerne. So wird deutlich, dass es sich um ein Interfache handelt. Sonst könnte jemand später denken: da hat einer das Free vergessen.
(Meist werden interfaced Klassen bei uns injiziert, da steht sich die Frage gar nicht.)

himitsu 23. Sep 2021 09:23

AW: Automatische Referenzzählug bei Interfaces
 
Das bezog sich vor allem auf die "Type Inference", also wo sich die Inline-Variable den Typ automatisch aussucht, anstatt man ihn explizit angibt,
und in diesem Fall "ausversehen" unbemerkt der Klassen-Typ genommen wird, anstatt dem Interface-Typ, womit natürlich die Referenzzählung dann im Arsch ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz