Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: CL | DM;

Вниз

Преобразование типов.   Найти похожие ветки 

 
Новичек   (2004-08-09 08:34) [0]

Здравствуйте, Мастера.
Есть кусок кода (взят из 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.


 
TUser ©   (2004-08-09 08:41) [1]

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


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

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


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

Ну вот. Тебе сюда:
http://delphimaster.net/view/15-1089723948/&web=1


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


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


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


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

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


 
Anatoly Podgoretsky ©   (2004-08-09 09:06) [6]

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

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 09:14) [7]

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

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



Страницы: 1 вся ветка

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
1-1091515880
alless
2004-08-03 10:51
2004.08.22
TPanel & Canvas


4-1089703480
alik-os
2004-07-13 11:24
2004.08.22
Remote Administator


1-1091723779
TeNY
2004-08-05 20:36
2004.08.22
динамичные параметры функции


3-1091188056
*boba*
2004-07-30 15:47
2004.08.22
Oкругление


6-1087810555
atruhin
2004-06-21 13:35
2004.08.22
Ошибка при закрытии сокета