Einzelnen Beitrag anzeigen

Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#1

Problem mit automatischem freigeben von Interfaces

  Alt 20. Okt 2012, 17:25
Moin,
Habe nen problem:

Wenn ich eine Klasse TFoo haben, die IFoo implementiert und jetzt folgendes mache:

Delphi-Quellcode:

procedure TOtherClass.Test(AFoo: IFoo);
begin
  AFoo.DoSomething();
end;

procedure TTestClass.Action();
var
  LFoo: TFoo;
  LOtherClass: TOtherClass;
begin
  LFoo := TFoo.Create();
  LOtherClass := TOtherClass.Create();
  LOtherClass.Test(LFoo);
  LFoo.dosomethingmore();<-- hier ists bereits freigegeben
end;
Knallst wegen dem reference counting. Wie mach ich es jetzt am besten, das ich ein Object and eine methode übergebe, die ein Interface erwartet?
Ich brauche das object danach noch

Muss ich mir das Interface seperat rausholen und das übergeben?(womit ich die interface variable bis zum ende behalten kann)

MFG
Memnarch
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat