Показать сообщение отдельно
  #7  
Старый 10.04.2008, 12:52
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Поскольку P запомнил адрес памяти Ob1, то к этой области можно обращаться. Я немного переделал (чтобы работало):
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
  P: Ob1;
begin
  P := Ob1(ListBox1.Items.Objects[1]);
  Listbox1.Items.Delete(1);
  ShowMessage(IntToStr(P.Param1)); // старое значение
  P.Param1:= -100;
  ShowMessage(IntToStr(P.Param1)); // новое значение
  P.Free;
end;
Надо ещё помнить, что локальные переменные уничтожаются при выходе из процедуры. (var P:Ob1 можно сделать глобальной или полем формы).
Ответить с цитированием