Witam.
Zmienną wskaźnikową, obiekt (poprzez wskaźnik który pokazuje na rekord) tworzymy poprzez operator New() a zwalniamy po rzez Dispose().
Poniżej zacytuję kawałek tutoriala dotyczącą komponentu Virtual Tree View i prosiłbym o wyjaśnienie w którym miejscu jest tworzony dynamicznie ten rekord ??? nie ma nigdzie operatora New().
.....deklarujemy rekord - odpowiedzialny za przechowywanie danych związanych z wierszami listy:
type
PWirtualnyRekord = ^TWirtualnyRekord;
TWirtualnyRekord = record
Caption : WideString;
Size : Int64;
end;
W OnCreate formy przyporządkowujemy komponentowi nasz rekord:
VirtualStringTree1.NodeDataSize := SizeOf(TWirtualnyRekord);
Treść procedury OnGetText komponentu VirtualStringTree:
var
Data: PWirtualnyRekord; //Zauważ że odwołujemy się do rekordu przez nas napisanego.
begin
Data := Sender.GetNodeData(Node);
if Length(Data.Caption) = 0 then
Data.Caption := 'Wiersz ' + IntToStr(Sender.AbsoluteIndex(Node)+1);
CellText := Data.Caption;
end;
poprawienie wszystkich znaczników - fp