Hogyan memóriát szabadít fel rekordot
Hogyan memóriát szabadít fel Record
Van TListView komponenst. Amikor új elemet adunk hozzá Érték.
típus
# XA0; PUser # XA0; = ^ AUser;
# XA0; AUser # XA0; = rekord
# XA0; # XA0; nick # XA0;. ShortString;
# XA0; # XA0; jogokat. byte;
# XA0; # XA0; Id. ShortString;
végén;
var felhasználó # XA0; # XA0;. PUser;
# XA0; # XA0; clname # XA0;: TListItem;
// hozzá nyírás egy cikk-kód
clname: = ListView1.Items.Add;
clname.Caption: = "a felhasználó";
Új (Felhasználó);
Felhasználó ^ .nick: = name;
Felhasználó ^ .rights: = ADM;
Felhasználó ^ .id: = "123";
clname.data: = Felhasználói;
// most kell távolítani egy elemet, és így távolítsa el a rá vonatkozó adat. Én így:
Dobja (ListView1.Items.Item [i] .data);
ListView1.Items.Item [i] .Delete;
Hogyan lehet törölni a memóriából, ha törli a tartalmat?
azaz Az én esetemben helyesen töröljük az adatokat. azaz ha hívja a megsemmisíteni (ListView1.Items.Item [i] .data) eltávolítják, és az adatokat PUser létre a rendszerben?
De más a helyzet. Van egy bizonyos példányszámot PUser létre a rendszerben.
Sokszor el kell távolítani.
Így akár ez kész
Új (Puser);
Puser: = somePointer;
Dobja (PUser);
hogy az információ a memóriából a nyugdíjba?
vagy vannak más eljárások tisztogatás?
Nos senki sem tudja?
Megfelelően erre:
var
# XA0; somePointer: PUser;
# XA0;.
kezdődik
# XA0; somePointer: = Új (Puser);
# XA0;.
# XA0; Dobja (somePointer);
# XA0;.
végén;
Nagyon szépen köszönöm a segítséget!
Nagyon szépen köszönöm a segítséget!