Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Dynamische Arrays Parameterübergabe

  Alt 5. Apr 2009, 11:01
Generell sollte man allerdings Speicher auf der Ebene freigeben, auf der er angefordert wurde, sonst steigt die Gefahr eines Memory-Leaks. D.h. statt ein Speicher für ein dynamisches Objekt innerhalb einer Funktion anzufordern und dieses dann als Rückgabewert zu definieren, könnte man es auch als Parameter übergeben. Also z.B. so (mit einem TStrings-Objekt statt eines Arrays):
Delphi-Quellcode:
procedure DoIt(const List: TStrings; length : integer);
var I : integer;
begin
  List.Clear;
  for I := 0 to length - 1 do
    List.Add('Eintrag'+ IntToStr(I));
end;

var S : TStringlist;
begin
  S := TStringlist.Create;
  try
    DoIt(S,5);
  finally
    S.Free;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat