Forum: Programmieren allgemein
Delphi
by Zacherl,
8. Jun 2018
Sehe ich kein Problem, sofern man ordnungsgemäß auch wieder UnregisterAudioSessionNotification verwendet. Ich meine "irgendwo" müssen die Referenzen doch geleaked werden. Die entstehen ja nicht von alleine. Dann einfach die Referenzzählung zu deaktivieren, indem man TInterfacedPersistence verwendet, kann doch eigentlich nicht Sinn der Sache sein.
Forum: Programmieren allgemein
Delphi
by Zacherl,
8. Jun 2018
Stehe irgendwie auf dem Schlauch grade. Wenn er den Proxy als Klasseninstanz erzeugt und die Variable, in der er die Instanz speichert, auch vom Typ der Klasse (nicht des Interfaces) ist, dann sollte der RefCount doch eigentlich garantiert 0 sein. Außer natürlich, es werden an späterer Stelle doch noch (wie auch immer) AddRef Aufrufe generiert ... aber das sollte dann ja eigentlich nicht am...
Forum: Programmieren allgemein
Delphi
by Zacherl,
7. Jun 2018
Verstehe ich nicht. Der Proxy soll innerhalb von TAudioVolume als Objektreferenz gehalten werden, nicht als Interface. Erzeugen im Constructor und Freigeben im Destructor. TAudioVolume selbst implementiert dann gar kein Interface mehr und braucht auch nicht von TInterfacedObject/TInterfacedPersistent abzuleiten, sondern nur vom guten alten TObject.
Was intern mit dem Proxy passiert ist dadurch...
Forum: Programmieren allgemein
Delphi
by Zacherl,
7. Jun 2018
Denke mal du willst es jetzt eh nicht mehr ändern, aber mit "Weiterleiten" meinte ich im Grunde auch nur folgendes:
type
TOnSessionCreate = procedure(...) of Object;
TAudioVolume = class(TObject)
strict private
FProxy: TAudioVolumeProxy;
strict protected
FOnSessionCreate: TOnSessionCreate;
public