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!