Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Преобразование типов. [D7, WinXP]


Новичек ©   (2004-08-09 08:34:00) 

Здравствуйте, Мастера.
Есть кусок кода (взят из help'a Delphi):

procedure TForm1.Button1Click(Sender: TObject);
var
 i: Integer;
const
 NamePrefix = 'MyEdit';
begin
 for i := 1 to 20 do begin
   TEdit.Create(Self).Name := NamePrefix + IntToStr(i);
   with TEdit(FindComponent(NamePrefix + IntToStr(i))) do
   begin
     Left := 10;
     Top := i * 20;
     Parent := self;
   end;
 end;
end;


Вопрос такой:
Зачем в строке TEdit(FindComponent(NamePrefix + IntToStr(i))) приводить к типу TEdit, если и так экземпляр имеет тип TEdit?
Или эта строка имеет другой смысл?
Кстати, если в вышеупомянутой строке написать TLabel вместо TEdit, то ничего не изменится. Почему?
С уважением, Beginner.


Думкин   (2004-08-09 09:14:00) [1]

> [6] Anatoly Podgoretsky ©   (09.08.04 09:06)

Это из хелпа по FindComponent, только для иллюстрации.


Anatoly Podgoretsky   (2004-08-09 09:06:00) [2]

Так писать не рационально

for i := 1 to 20 do begin
  with TEdit.Create(Self) do
  begin
    Name := NamePrefix + IntToStr(i);
    Left := 10;
    Top := i * 20;
    Parent := self;
  end;
end;


Думкин   (2004-08-09 08:48:00) [3]


> [4] Новичек   (09.08.04 08:45)

Угу, в архиве уже.


Новичек   (2004-08-09 08:45:00) [4]


> Думкин
А нету этой ветки :-(


Новичек   (2004-08-09 08:43:00) [5]

Так просто... Хотя для меня это явилось камнем преткновения. Огромное спасибо!


Думкин   (2004-08-09 08:43:00) [6]

Ну вот. Тебе сюда:
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1089723948&n=3&web=1


TUser   (2004-08-09 08:41:00) [7]

Просо ф-ция FindComponent возвращает TComponent. На Delphi считается, что класс совместим по типу со всеми своими потомками. Т.о. она (функция) просто не знает TComponent это или его потомок.


Наверх

Титульная страница Поиск, карта сайта Написать письмо