Hogyan vissza a TStringList (minden elemet) egy delphi funkció

Ha tudja, hogy a funkciók a Delphi is küld vissza értéket egy tárgy, egy TStringList vagy TButton. Azt is meg kell tudni, hogy ki kell használni nagyon óvatosan.







Ki kell szabadítani a memória?

A Delphi for Win32, minden tárgy, kézzel készített, kézzel fel kell szabadítani. Ez egyszerű. Ha nem felszabadítja a memóriát tárgyak, amit létrehozott, a programot végül vesz minden Windows memória és egy üzenet jelenik meg a hiba Acess Jogsértések

Itt van egy egyszerű függvény, amely visszaadja a Delphi objektum - TStringList.

Úgy néz ki, nagyon egyszerű. Megjegyzés: mivel a függvény egy TStringList. és a változó implicite bejelentett minden funkciója - az eredmény változó, és ott TStringList.







Sőt, ha kilép a funkciót, akkor hozzon létre egy TStringList objektumot. nem használt memóriát. Valaki el kell engedniük a tárgy befejezése előtt az alkalmazás.

Mivel a legtöbb esetben hívja a funkciót, amikor szükség van az eredmény, GetStringList fogják hívni egy másik része a kód:

Ez az, ami fontos: van egy változó típusú TStringList ( „sl”). amely megkapja az eredményt GetStringList funkciót. csinál valamit, és végül törli a listáról a memóriából, így megakadályozza a memória szivárgás.

Vigyázat: ha a függvény egy példányát egy tárgy, mindig győződjön meg arról, hogy az objektum fog megjelenni, ha már nincs rájuk szükség!

Megjegyzés: TStringList nem kell a tulajdonos, hogy létre fog jönni. Objektumok esetében szükség van egy tulajdonosa, a tulajdonos felelős a tárgy maga, és elpusztítja azt!




Kapcsolódó cikkek