Вниз
Скачать: 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.027 c
15-1172322646
Суслик
2007-02-24 16:10
2007.03.18
Delphi Turbo for Win32 Prof VS Delphi for Win32 Prof


15-1171974666
CCili
2007-02-20 15:31
2007.03.18
Вопрос по VBA в рамках выполнения макроса


2-1172504174
Tru
2007-02-26 18:36
2007.03.18
написание математически функций в делфи


2-1172323509
kail
2007-02-24 16:25
2007.03.18
Режим картинки


2-1172069051
dmdel
2007-02-21 17:44
2007.03.18
Безопасность в FB




   Наверх