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

Вниз

Как заменить искомый компонент 1 раз?   Найти похожие ветки 

 
kyn66 ©   (2005-09-02 12:20) [0]

Здравствуйте мастера. Из числа компонентов на форме мне нужно отыскать
с конкретным номером и работать с ним. Как мне поступить правильно с
передачей его имени?  Если грамоздко но верно будет так:

  if  TSpeedButton(FindComponent("Tur" + IntToStr(Tur + 1) + "Btn")) <> nil then
   begin
       TSpeedButton(FindComponent("Tur" + IntToStr(Tur + 1) + "Btn")).OnClick(TSpeedButton(FindComponent("Tur" + IntToStr(Tur + 1) + "Btn")));
       TSpeedButton(FindComponent("Tur" + IntToStr(Tur + 1) + "Btn")).Down := True;
   end;

А почему у меня так не работает без ошибки?

Var
  Comp : TComponent;
...
  Comp := TSpeedButton(FindComponent("Tur" + IntToStr(Tur + 1) + "Btn"));
  if Comp <> nil then
   begin
       Comp.OnClick(Comp);
       Comp.Down := True;
   end;
...

Конкретно метод onClick при подстановке выдает ошибку. Как должно быть правильно?


 
Digitman ©   (2005-09-02 12:23) [1]


> метод onClick


нет такого метода.

есть свойство-событие.

а метод и свойство - разные разницы.


 
kyn66 ©   (2005-09-02 12:28) [2]

Ошибся, пардонс, событие не прикручивается.


 
Reindeer Moss Eater ©   (2005-09-02 12:42) [3]

Var
 Comp : TComponent;
...
 Comp.OnClick(Comp);

Где ты нашел OnClick у TComponent?


 
PVOzerski ©   (2005-09-02 13:19) [4]

И еще. Может, конечно, я неверно понял, но
Comp.OnClick(Comp); - это не "подстановка метода" (т.е. назначение обработчика имелось в виду?), а разовый вызов процедуры (можно этак и nil вызвать, если обработчик не назначен :( ). Разница, надеюсь, понятна?


 
kyn66 ©   (2005-09-02 13:23) [5]

>> Reindeer Moss Eater
А что.. TButon.onClick(Sender) не существует? Поэтому я и задаю вопрос, как правильно подставить, не придумаю...


 
Digitman ©   (2005-09-02 13:28) [6]


> TButon.onClick(Sender) не существует?


что значит


> событие не прикручивается


?

ты что хочешь-то ? назначить некий обработчик или вызвать процедуру-обработчик ?


 
kyn66 ©   (2005-09-02 13:34) [7]

Мне из программы нужно вызвать обработчик


 
Плохиш ©   (2005-09-02 13:43) [8]

Comp.Click;


 
Reindeer Moss Eater ©   (2005-09-02 14:02) [9]

>А что.. TButon.onClick(Sender) не существует?

А что, из этого как-то следует, что он существует и у TComponent?


 
kyn66 ©   (2005-09-02 14:35) [10]

Дык ведь Comp получаю после FindComponent, а у него на выходе TComponent.


 
Digitman ©   (2005-09-02 14:39) [11]


> kyn66 ©   (02.09.05 14:35) [10]


> Comp получаю после FindComponent, а у него на выходе TComponent


а приведение типа на что существует, спрашивается ?


 
Reindeer Moss Eater ©   (2005-09-02 14:40) [12]

Так вот я и спрашиваю, где ты нашел событие OnClick у класса TComponent?

Var
Comp : TComponent;
...
Comp.OnClick(Comp);



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

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

Наверх




Память: 0.49 MB
Время: 0.027 c
1-1126718955
WST
2005-09-14 21:29
2005.10.09
-= нечеткое сравнение строк =-


4-1123407155
Sphinx
2005-08-07 13:32
2005.10.09
Код создания окна не работает в dll


4-1123746902
Huliganka
2005-08-11 11:55
2005.10.09
Вопрос: Как обновить рабочий стол (Desktop)?


2-1125589142
Гость22
2005-09-01 19:39
2005.10.09
Поиск по таблице в реальном времени.


9-1117168849
Slavikk
2005-05-27 08:40
2005.10.09
GLScene - классы