Thema: Delphi Umgang mit Interfaces

Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Umgang mit Interfaces

  Alt 6. Dez 2013, 08:51
Generics.Defaults gibt es auch schon in XE (vermutlich bereits ab 2009, aber das habe ich nicht installiert).
Ja, gibt es schon in 2009!

Die Lösung von jaenicke mit einer generischen TList<T> ist das auf jeden Fall besser als eine TObjectList.
Für deine Zwecke wäre sogar ein generisches TDictionary besser, da du ja irgendwie auf die Objekte per Namen zugreifen willst (siehe TListData.fName).

Das ständige Rumgecaste mit unlesbaren Code (TMyInteger(TMyDoSomething(fList[i].fMy]).fAValue).SetValue(2); )
führt nur zu Problemen und in drei Monaten verstehst du es selber nicht mehr.
Die Referenzzählung selber verursacht die Schutzverletzung nicht, sondern der fehlerhafte Umgang mit Interfaceobjekten.

Kleiner Tipp:
Es ist möglich in Interfaces mit propertys zu arbeiten.
Find ich angenehmer beim Programmieren:

Delphi-Quellcode:
IInteger=Interface(IValue)
  function GetValue: Integer;
  procedure SetValue(const AValue: Integer);
  property Value : interger
    read GetValue
    write SetValue;
end;
  Mit Zitat antworten Zitat