Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
1-1092119059
sdw_syscoder
2004-08-10 10:24
2004.08.22
Как разместить надпись или кнопку в правой стороне ToolBar a


1-1091710157
bloodman
2004-08-05 16:49
2004.08.22
Как передать popupmenu из dll в программу


14-1091410119
Думкин
2004-08-02 05:28
2004.08.22
С днем рождения! 2 августа


11-1077964306
nsvi
2004-02-28 13:31
2004.08.22
Проблемы с KOLWebBrowser


1-1091171279
BRemB
2004-07-30 11:07
2004.08.22
Главное меню приложения




   Наверх