![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Какой параметр передавать в теле процедуры? [D5, Win2k]
Guitar © (2004-12-20 11:28:00)Мастера, подскажите, плс. Как правильно вызвать процедуру? Я вызываю не правильно, так как она не вызывается.
Хочу вызвать вот эту процедуру:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if radiogroup8.ItemIndex=1 then begin
{Здесь код}
end;
end;
Вызываю таким образом
if radiogroup8.ItemIndex=1 then begin
CheckBox1Click(sender);
end;
Где ошибка? ((( Может не тот параметр передаю?
TUser (2004-12-20 13:09:00) [1]
> Что он (sender) означает?
Обычно передают там, кто вызвал данное события (это может быть надо, если один обработчик назначен собыватим для нескольких чекбоксов).
> Почему если его не написать, то выводит ошибку?
Потому, что процедуру надо вызывать с теми параметрами, с которыми она описана.
Digitman (2004-12-20 13:07:00) [2]
> Что он (sender) означает?
этот параметр означает ссылку на объект, который возбудил событие.
> Почему если его не написать, то выводит ошибку?
потому что если прототип процедуры-обработчика события требует указания ссылки на объект, то ты обязан сослаться либо на реально существующий объект-генератор события либо указать nil.
Guitar (2004-12-20 12:58:00) [3]Скажите пожалуйста, что значит, когда я передаю процедуре такой параметр как sender?
CheckBox1Click(sender);
Что он (sender) означает? Почему если его не написать, то выводит ошибку?
Семен Сорокин (2004-12-20 11:35:00) [4]CheckBox1.Click;
CheckBox1Click(CheckBox1);
TUser (2004-12-20 11:33:00) [5]Надо передавать любой объект типа. Если в CheckBox1Click этот Sender никак не используется - можно nil. Если вызов прописан в обработчике к-л события, то можно и просто Sender написать - он там есть и типа TObject.
Вопрос - а как ты определил, что процедура не вызывается?