Форум: "Начинающим";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
ВнизПроцедуры Найти похожие ветки
← →
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;
{…}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
ЗЫ
…
← →
Allexandr © (2007-02-24 00:53) [6]
> Идея ясна?
Да, спасибо!
Это намного удобнее :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.049 c