[pascal]Var
P : PCreature;
T : TCreature;
begin
T := TCreature(MyList[0]);
P := @T;
Edit1.Text:= IntToStr(P^.ID);
End;[/pascal]

I must say that I think you've missed the point of classes. In Delphi any variable of a class type is already a pointer. There is no reason to have a PType as a pointer to the class as you are effectivly creating a pointer to a pointer to the class instance. This PType structure basically is legacy from Turbo Pascal and should not be used anymore.

Just change your Player to be of type TCreature and you will effectly have achieved everything you need to do.

The only time you need PTypes in delphi is if you are using records and want to put them into something like an object list.