Форум: "Начинающим";
Текущий архив: 2011.07.31;
Скачать: [xml.tar.bz2];
ВнизПрограмное нажатие кнопки. Найти похожие ветки
← →
vegarulez (2011-04-22 11:01) [0]Привет всем Мастерам!
Комрады подскажите почему sender в первом случае передаётся а во втором нет. И второй момент почему они как бы не тождественны, или как первый случай кода минимизировать и сделать как второй?
1.for j:=0 to P_BT.ComponentCount-1 do
begin
if P_BT.Components[j] is TPNGButton then
with (P_BT.Components[j] as TPNGButton) do
BEGIN
if name="BT_31" then
btclick(P_BT.Components[j] as TPNGButton);
END;
end;
2.
btclick(TPNGButton(FindComponent("BT_31")) as TPNGButton)
P.s. Ибо первый работает корректно - второй нет.
← →
clickmaker © (2011-04-22 11:08) [1]> а во втором нет
значит FindComponent("BT_31") = nil
вообще, у TButton есть метод Click
← →
OW © (2011-04-22 13:03) [2]не понятны манипуляции.
btclick( - что это? не знаю такое
как бы я написал (на скока понял)
procedure TForm1.btn1Click(Sender: TObject); // & btn2Click
begin
if sender is TButton then
mmo1.Lines.Add( TButton(Sender).Caption );
end;
procedure TForm1.btn3Click(Sender: TObject);
var
i:Integer;
begin
for i:=0 to ComponentCount-1 do
begin
if Components[i] is TButton then
if TButton(Components[i]).Name = "btn2" then
begin
TButton(Components[i]).Click;
TButton(Components[i]).OnClick(Sender);
end;
end;
end;
procedure TForm1.btn4Click(Sender: TObject);
var
B: TComponent;
begin
B := FindComponent("btn1");
if B <> nil then
if B is TButton then
begin
TButton(B).Click;
TButton(B).OnClick(Sender);
end;
end;
← →
HF-Trade © (2011-04-22 13:30) [3]A)
Var
MyBtn: TObject;
Begin
MyBtn := FindComponent("BT_31");
IF MyBtn <> nil Then
IF (MyBtn is TPNGButton) Then
(MyBtn as TPNGButton).Click; // (MyBtn as TPNGButton).OnClick(Sender);
B)
IF (Sender is TPNGButton) Then
(Sender as TPNGButton).Click;
C)
IF (Sender is TPNGButton) Then
(Sender as TPNGButton).OnClick(Sender);
← →
OW © (2011-04-22 13:40) [4]зачем писать
if Obj is TType then
(Obj as TType).Method
?
Уже проверили, Obj is TType = true, далее можно смело TType(Obj).Method
и короче писать и быстрее выполняется
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.07.31;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c