Показать сообщение отдельно
  #1  
Старый 16.02.2012, 23:38
jedi2000 jedi2000 вне форума
Прохожий
 
Регистрация: 16.02.2012
Сообщения: 2
Репутация: 10
По умолчанию указатели и TList

Добрый день!
Помогите, пожалуйста, разобраться, почему я получаю в переменной pi одно и то же значение ? Код надуманный, просто чтобы понять проблему:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 L: TList;
 pi: PInteger;
 i: Integer;
 ii: Integer;

begin
  L:=TList.Create;
  for i := 0 to 5 do
  begin
    New(pi);
    pi^:=10*i;
    L.Insert(i,pi); //так тоже делал: L.Add(pi);
    Dispose(pi);
  end;

  for i := 0 to L.Count - 1 do
  begin
    pi:=nil;
    pi:=PInteger(L.Items[i]);
    ii:=pi^;
    tag:=ii;
  end;
end;
Админ: Пользуемся тегами для оформления кода!

У меня все время pi указывает на значение 50. А хотелось бы получить все значения из списка. Не могу понять, в чем дело?
Заранее благодарю.
Ответить с цитированием