Текущий архив: 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.46 MB
Время: 0.028 c