Thema: Delphi Umgang mit Interfaces

Einzelnen Beitrag anzeigen

Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
441 Beiträge
 
Delphi 10.3 Rio
 
#18

AW: Umgang mit Interfaces

  Alt 11. Dez 2013, 20:53
Delphi-Quellcode:
  ...
var
  MySomeThingObject : ISomeThing;
begin
  MySomeThingObject := TMyDoSomething.Create;
  if Supports(MySomeThingObject, IInteger) then
  begin
    ShowMessage('IInteger wird voll unterstützt!!!');
  end;
end;
... und laut Doku ist das Objekt damit auch zerstört und damit kann man diese Variante nicht verwenden...

Edit: Habe nicht erwähnt das ich meine Klassen nicht als Interface speichern kann (ISomeThing muss zu TSomeThing werden), weil ich eben eine "Basisliste" mit allen Klassen habe. Diese stehen untereinander in verschiedenen Beziehungen und pflegen daher eigene TNodeList-en um eine Referenz auf diese benötigten Instanzen zu haben. Durch diese Verlinkung schnellt der _RefCount bei verwendung von Interfaces aber hoch und am Programmende, wenn die "Basisliste"-alles frei gibt, bleibt ein riesiges Memoryleek über.
Whookie

Software isn't released ... it is allowed to escape!

Geändert von Whookie (11. Dez 2013 um 21:04 Uhr)
  Mit Zitat antworten Zitat