Показать сообщение отдельно
  #4  
Старый 19.05.2012, 12:32
Аватар для cotseec
cotseec cotseec вне форума
Активный
 
Регистрация: 16.07.2008
Сообщения: 353
Версия Delphi: D7,TDE06,RAD09
Репутация: 1443
По умолчанию

Цитата:
с объектами можно забыть об указателях вообще
вместо Pointer - TObject; проверка и приведение is, as
это верно, но тут немного другой вопрос
Цитата:
Возникла необходимость получаемые ссылки на TClass_02 помещать в стекоподобную структуру в виде указателей
пример кода
Код:
var
  tmp:TForm2;
begin
  List:=TList.Create;
  List.Add(Pointer(Form2));// работает
  List.Add((Form2));// работает
  tmp:=(TObject(List.Items[0]) as TForm2);// работает, т.к. приведен 
                                             // тип Pointer к TObject
                                             // (предок всех классов)
  tmp:=TForm2(List.Items[0]);// работает, т.к. приведен тип Pointer
                                        // к TForm2
  //tmp:=(List.Items[0] as TForm2);// не работает
  if (TObject(List.Items[0]) is TForm2) then
        ShowMessage ('It''s Work');// необходимо приведение типа Pointer к TObject
  List.Free;
end;
__________________
Понять, что хочет заказчик - бесценно, ведь он платит MasterCard
Ответить с цитированием