Jak uložit hodnotu typu Integer přímo do Pointeru

Velmi často je třeba k položce v seznamu typu TList, TStringList nebo TTreeView uložit hodnotu typu Integer (ID řádku v tabulce). Jenže standartně je třeba vytvořit nějaký record nebo object, což je relativně zdlouhavé, navíc je třeba alokovat (a následně uvolňovat) paměť. Pokud nám stačí vztáhnout k položce opravdu jen jednu hodnotu, můžeme si pomoci uložením informace přímo do pointeru (konkrétně v případě TTreeView, respektive TTreeNode, je to vlastnost TTreeNode.Data) a to přetypováním dle níže uvedeného příkladu:

function TForm1.GetSelectedTreeNodeID:Integer;
begin
 Result:=Integer((@TreeView1.Selected.Data)^);
end;

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

*