![]() |
Delphi-Version: 2006
Objektfreigabe bei Interface
Hallo,
ich verwende ein
Delphi-Quellcode:
und
IAuto = Interface(IInterface)
Delphi-Quellcode:
und
TAuto = class(TInterfacedPersistent,IAuto)
Delphi-Quellcode:
.
Form = class(TForm)
In der Form
Delphi-Quellcode:
wird das Interface mit
myIAuto = IAuto;
myTAuto = TAuto
Delphi-Quellcode:
erzeugt und mit
myTAuto := TAuto.create;
myIAuto := myTAuto;
Delphi-Quellcode:
freigegeben.
myIAuto := nil;
myTAuto.free; Der Code funktioniert auch. Leider funktioniert bei der Abkürzung mit
Delphi-Quellcode:
und
myIAuto := TAuto.create;
Delphi-Quellcode:
die Freigabe von TAuto nicht.
myIAuto := nil;
Bei der Verwendung von TInterfacedPersistent muss ich mich selbst um die Freigabe der Objekte kümmern. TInterfacedObject würde das für mich erledigen. Dh. gibt es sonst eine Möglichkeit, wenn das Interface "freigegeben" wird das sich auch die Objekte automatisch freigeben. |
AW: Objektfreigabe bei Interface
Du hast doch die jeweiligen Vorteile/Nachteile von
TInterfacedPersistent/TInterfacedObject bereits beschrieben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 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