![]() |
AW: noch was zu: "Nach 20/30 starts aus der IDE speicher voll"
Darum verwende ich z.B. statt einer StringList (Rückgabetyp besser TStrings) immer öfters Arrays.
Sowohl mit TStrings/TStringList, als auch mit dem String-Array, lassen sich viele gleiche Dinge tun, aber Variante mit den Objekten hat eben auch Nachteile.
Delphi-Quellcode:
for var S in getSL do // egal ob StringArray oder StringList (nur am Speicherleck ist man dann selber Schuld)
ShowMessage(S); SL.Clear; SL.AddStrings(getSL); Memo.Lines.AddStrings(getSL); A := SL.ToStringArray; ... Interfaces .... Ja, es gibt von Microsoft ein IStrings, aber das ist mit unserem TStrings nicht kompatibel, mit IStringsAdapter macht es keinen Spaß und von IXPStrings wollen wir garnicht erst reden. |
AW: noch was zu: "Nach 20/30 starts aus der IDE speicher voll"
moin in die runde,
erstmal, cool, so viele antworten, tks.. und - ohne jetzt auf die einzelnen punkte naeher einzugehen - so wirklich schlauer bin ich jetzt zwar auch nicht, aber es handelt sich hier um uralte funktionen, die ich mittlerweile ganz anders loese. es hat mich halt einfach mal interessiert.. und dass man keine objekte zurueckgeben soll, hmmm.. - naja, ich mach das sehr gerne. auch habe ich ne menge stringlisten, denen ich objekte anhaenge, weil man dann auf diese so schoen mit dem namen zugreifen kann. ich faends halt super, wenn es ein "modul" oder irgendwas gaebe, in welchem man ganz genau sehen koennte, "welche variable wurde wo nicht freigegeben".. wuensch euch was.. ..de Schorsch |
AW: noch was zu: "Nach 20/30 starts aus der IDE speicher voll"
Zitat:
ABER von Vorteil wäre es, wenn man dem Funktionsnamen dieses Verhalten ansieht.
Delphi-Quellcode:
//var FSL: TStringList;
function GetSL: TStrings; begin Result := FSL; Result.Clear; Result.Add('blub'); end; SL := GetSL; ... function CreateSL: TStrings; // MakeSL oder sowas begin Result := TStringList.Create; Result.Add('blub'); end; SL := CreateSL; ... SL.Free; // bezüglich Fehlerbehandlung Try-Except/Finally siehe oben
Delphi-Quellcode:
procedure GetSL(SL: TStrings);
begin SL.Clear; // ohne Clear, wenn man optional anhängen können möchte (außerhalb Clear oder nicht) SL.Add('blub'); end; |
AW: noch was zu: "Nach 20/30 starts aus der IDE speicher voll"
[Hier stand Blödsinn oder nicht genau das was gesucht wurde]
|
AW: noch was zu: "Nach 20/30 starts aus der IDE speicher voll"
Moin...8-)
Zitat:
![]() |
AW: noch was zu: "Nach 20/30 starts aus der IDE speicher voll"
Danke, werde ich mir mal angucken.
uebrigens wegen der benamsung: das war doch nur fuer euch als beispiel. natuerlich heissen meine funktionen "get, set, create, MachDiesUndMachDas" ;-) ..de Schorsch |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz