Главная страница
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.046 c
15-1172051251
GARPbI4
2007-02-21 12:47
2007.03.18
Сколько могут стоить услуги програмеров на асемблере? (нужна пом)


11-1150872641
parovoZZ
2006-06-21 10:50
2007.03.18
fbsToolWindow - есть вопросы


2-1172161175
koha
2007-02-22 19:19
2007.03.18
два способа чтение из памяти


15-1172087527
Соня
2007-02-21 22:52
2007.03.18
Кто возьмется написать прораммку? небесплатно


15-1172411923
xayam
2007-02-25 16:58
2007.03.18
От Вас когда-нибудь уйдут все