![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Процедуры [D6, XP]
Allexandr © (2007-02-23 23:47:00)Здравствуйте. В моей программе в юните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
Насколько я догадываюсь - этой процедуре нужно передать какой то параметр? Так ли это? И если так - то какой параметр?
Спасибо!
Allexandr (2007-02-24 00:53:00) [1]
> Идея ясна?
Да, спасибо!
Это намного удобнее :)
Kolan (2007-02-24 00:47:00) [2]А вообще по нормльному надо сделать так:
1. Выделить требуемое в отдельную процедуру:
TForm2 = class(TFrom)
public
procedure DoTransparent;
end;
{ }
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
ЗЫ
Kolan (2007-02-24 00:35:00) [3]«Если в другой процедуре пишу:
TForm2.RadioButton2Click;
то появляется ошибка»
TForm2 писать ненадо, а вот параметры(«Sender: TObject») указать надо.
Например:
RadioButton2Click(S(Self);
Kolan (2007-02-24 00:35:00) [4]«(S»
Чертов PuntoSwitcher
Allexandr (2007-02-24 00:20:00) [5]Спасибо. Процедура вызвалась:)
vasIZmax (2007-02-24 00:07:00) [6]то что я наваял здесь для юнита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;
если я понимаю о чем разговор)))))