Форум: "Начинающим";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
ВнизКак заменить искомый компонент 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.013 c