Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
Новичек   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.036 c
3-1090593896
irmantukas
2004-07-23 18:44
2004.08.22
MySQL


1-1091605973
Молодой
2004-08-04 11:52
2004.08.22
Почему UpperCase не работает с кирилицой и чем её модно заменить?


3-1090221921
Ani
2004-07-19 11:25
2004.08.22
Надо так сделать что при Preview в QuickReport е отабражался толк


14-1091674940
aga
2004-08-05 07:02
2004.08.22
работа с протоколом http


6-1087284001
HydraMarat
2004-06-15 11:20
2004.08.22
TIdTCPServer vs TTcpServer





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский