Вниз
Скачать: CL | DM;

Процедуры   Найти похожие ветки 

 
Allexandr ©   (2007-02-23 23:47) [0]

Здравствуйте. В моей программе в юните2 есть такая процедура

procedure TForm2.RadioButton2Click(Sender: TObject);
begin
Form1.TransparentColor:=false;
form1.Color:=colordialog1.Color;
end;


Мне нужно вызвать эту процедуру из другой процедуры (вызвать нужно с того же самого второго юнита).
Если в другой процедуре пишу:

TForm2.RadioButton2Click;

то появляется ошибка
[Error] Unit2.pas(60): Not enough actual parameters

Насколько я догадываюсь - этой процедуре нужно передать какой то параметр? Так ли это? И если так - то какой параметр?
Спасибо!


 
vasIZmax ©   (2007-02-24 00:07) [1]

то что я наваял здесь для юнита2
procedure TForm2.RadioButton1Click(Sender: TObject);
begin
Form1.TransparentColor:=false;
form1.Color:=colordialog1.Color;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
form2.RadioButton1.OnClick(radiobutton1)
end;


если я понимаю о чем разговор)))))


 
Allexandr ©   (2007-02-24 00:20) [2]

Спасибо. Процедура вызвалась:)


 
Kolan ©   (2007-02-24 00:35) [3]

«Если в другой процедуре пишу:

TForm2.RadioButton2Click;

то появляется ошибка»

TForm2 писать ненадо, а вот параметры(«Sender: TObject») указать надо.

Например:
RadioButton2Click(S(Self);


 
Kolan ©   (2007-02-24 00:35) [4]

«(S»

Чертов PuntoSwitcher


 
Kolan ©   (2007-02-24 00:47) [5]

А вообще по нормльному надо сделать так:

1. Выделить требуемое в отдельную процедуру:
TForm2 = class(TFrom)
public
 procedure DoTransparent;
end;

{&#133}

procedure TForm2.DoTransparent;
begin
 Form1.TransparentColor:=false;
 form1.Color:=colordialog1.Color;  
end;


И вызывать где надо:
Было:
procedure TForm2.RadioButton1Click(Sender: TObject);
begin
Form1.TransparentColor:=false;
form1.Color:=colordialog1.Color;
end;


Стало:
procedure TForm2.RadioButton1Click(Sender: TObject);
begin
 DoTransparent;
end;


Было:
procedure TForm2.Button2Click(Sender: TObject);
begin
form2.RadioButton1.OnClick(radiobutton1)
end;


Стало:
procedure TForm2.Button2Click(Sender: TObject);
begin
 DoTransparent;
end;


Идея ясна?

Скоме того так как ты обращаешся к Form1,
то DoTransparent; лучьше сделать в Form1

ЗЫ
&#133


 
Allexandr ©   (2007-02-24 00:53) [6]


> Идея ясна?


Да, спасибо!
Это намного удобнее :)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.046 c
2-1172485149
Oleg_teacher
2007-02-26 13:19
2007.03.18
Прокрутка Stringgrid


15-1171886128
DrDe
2007-02-19 14:55
2007.03.18
Каким Диалектом в FireBird вы пользуетесь?


9-1145623480
KiberKot
2006-04-21 16:44
2007.03.18
Анимация


15-1171918604
vasIZmax
2007-02-19 23:56
2007.03.18
Музыки не будет?


2-1172265248
Allexandr
2007-02-24 00:14
2007.03.18
ColorDialog




   Наверх