Форум: "Основная";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];
Внизпомогите с обработкой события в run-time Найти похожие ветки
← →
alexey_mas © (2007-01-31 15:14) [0]Добрый день прошу подсказки по ран тайм
Tfilter- созданный мною клас, который содержит функцию которая создает в run_time
форму фильтра , компоненты(чекбоксы,едиты) ,назначает событию онклик чекбокса процедуру
CheckBox1_filter.OnClick:=set_checkbox;
Form_filter.ShowModal;
сама процедура(входит также в класс Tfilter)
procedure TFilter.set_checkbox(sender:TObject);
begin
if (CheckBox1_filter.Checked=true) then
begin
CheckBox1_filter.Checked:=false;
Combobox1_filter.Enabled:=false;
end else
begin
CheckBox1_filter.Checked:=true;
Combobox1_filter.Enabled:=true;
end;
end;
Как только нажать на Checkbox(т.е. идет вызов процедуры set_checkbox) вылетает ошибка переполнения стека
Exception class EStackOverflow with message "Stack overflow".
В отладчике вижу что процедура set_checkbox вызывается постоянно (вроде как идет постоянное нажатие на чекбокс)
В чем может быть причина?
← →
Сергей М. © (2007-01-31 15:19) [1]А что хочешь сделать-то ?
объясни на словах, что должно происходить ...
← →
alexey_mas © (2007-01-31 15:22) [2]хочу чтобы если стояла птичка т.е. CheckBox1_filter.Checked=true
после нажатия птичка снялась т.е. CheckBox1_filter.Checked:=false;
и комбобокс стал неактивным
и наоборот
← →
Сергей М. © (2007-01-31 15:24) [3]
> хочу чтобы если стояла птичка т.е. CheckBox1_filter.Checked=true
> после нажатия птичка снялась
Она и так снимется, без твоего явного вмешательства.
> и комбобокс стал неактивным
А как же ты кликать будешь на "неактивном" чекбоксе ?
Ты же тем самым запретил ему принимать фокус ввода !
Подумай сам ..
← →
alexey_mas © (2007-01-31 15:31) [4]спасибо. понял, заработался :)
← →
Юрий Зотов © (2007-01-31 16:09) [5]> В чем может быть причина?
При изменении Checked возбуждается событие OnClick и возникает рекурсия.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.107 c