справку по New смотрели?
Код:
type
PListEntry = ^TListEntry;
TListEntry = record
Next: PListEntry;
Text: string;
Count: Integer;
end;
var
List, P: PListEntry;
begin
...
New(P);
P^.Next := List;
P^.Text := 'Hello world';
P^.Count := 1;
List := P;
...
end;
здесь New(P); выделяет кусок памяти размером SizeOf(TListEntry). т.к. P это тип PListEntry, а PListEntry это указатель на TListEntry, а TListEntry это структура)