Thema: Delphi Wer macht den Free?

Einzelnen Beitrag anzeigen

Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#12

AW: Wer macht den Free?

  Alt 13. Feb 2017, 10:41
Wegen genau dieser Problematik meide ich Funktionen, die Klasseninstanzen zurückgeben, welche erst innerhalb der Funktion erzeugt werden, wie der Teufel das Weihwasser.
Die Problematik ist ja nicht das Instanzieren innerhalb einer Funktion, sondern das Freigeben.

Gegen das Instanzieren innerhalb einer Funktion spricht überhaupt nichts, wenn es im Funktionsnamen ersichtlich ist. Ich verwende öfters Funktionen, die eine Instanz erzeugen. Kleines Beispiel: Eine Stringlist ist bei mir in den meisten Fällen sortiert und lässt keine Duplikate zu. Ist normalerweise ein Dreizeiler.

Delphi-Quellcode:
sl:=TStringlist.create;
sl.sorted := True;
sl.duplicates := dupignore;
Dafür gibt es bei mir folgende Funktion (so ähnlich)

Delphi-Quellcode:
Function TStringlistSortedDupIgnore_Create;
begin
  result := TStringlist.create;
  result.sorted := True;
  result.duplicates := dupignore;
end;
Aufrufen muss ich dann nur noch

sl := TStringlistSortedDupIgnore_Create;
Aus drei Zeilen mach eine. Finde ich sehr praktisch.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat