Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.18;
Скачать: 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 вся ветка

Текущий архив: 2007.03.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.037 c
15-1171961362
magisrtu
2007-02-20 11:49
2007.03.18
Скажите,


2-1172382922
Novichok_New
2007-02-25 08:55
2007.03.18
Application.CreateForm


2-1171970778
sashakbest
2007-02-20 14:26
2007.03.18
Памогите, кто знаете


2-1172153867
Lonix
2007-02-22 17:17
2007.03.18
Окно поверх всех окон


2-1172274829
koha
2007-02-24 02:53
2007.03.18
Клик мышью в TListView