MyFooBar sieht aus wie die Liate... die sollte nur pFirst, pLast und eventuell pCurrent kennen. Mehr braucht die auch gar nicht wissen.
Wenn du jetzt ein Objekt mit pPrev und pNext einhängen willst gehst du wie folgt vor:
Delphi-Quellcode:
var
newItem, temp: TListItem;
begin
newItem := TListItem.Create; // neues Item erzeugen pPrev und pNext sind dann nil
{ ... Item mit Daten bestücken ... }
temp := Liste.pfirst; // Das erste Item aus der Liste greifen
temp.pPref := newItem; // Diesem statt nil (Anfang) das neue Item als Vorgänger zuweisen
newItem.pNext := temp; // Das alte erste Item ist jetzt der Nachfolger unseres neuen Items
Liste.pFirst := newItem; // Zuguterletzt unser neues Item als erstes Item in der Liste setzen
end;
Dabei geh ich davon aus, dass beim newItem-erzeugen pPrev und pNext auf nil initialisiert werden.