new(head); p:=head;
   Item := ListView1.Selected;
          while Item <> nil do
          begin      new(s);
                  s^.mylistnode:=item;                   Item := ListView1.GetNextItem(Item, sdAll,isSelected]);
                   p^.next:=s;
                   p:=s;
          end;
                        p^.next:=nil;
                       head:=head^.next;第一二句写成new(p);head:=p;就不行了,我觉的没什么区别呀!