Хотя если дерево нужно сугубо для данных я бы использовал самодельные связные списки ..
(Кода-то на еще на турбо паскале делал "гиганские коллекции" именно на их основе )
Так?
...
Вообще то так
var tp:pointer;
t:integer;
...
А лучше например так
t:^integer;
...
var
T:^Integer ;
begin
New(T);// выделить память
T^:=1;
ShowMessage(intToStr(T^));
Dispose (T); // освободить память ..
end;
Просто Т будет pointer, а T^ Integer ...
....
var tp:pointer;
t:integer;
...
а тут действительно нужно приведение типов
t:=integer(tp^)
Но нужно позаботится о том что бы указатель не указывал в "мировое пространство "
Но вообще лучше бы больше конкретики ... (Возможно я не понял контекст )