Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.25;
Скачать: CL | DM;

Вниз

помогите с обработкой события в 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.034 c
15-1172672040
Александр Иванов
2007-02-28 17:14
2007.03.25
Перенос БД


1-1169988227
Мастерок
2007-01-28 15:43
2007.03.25
Смерть WebBrowser-a при изменении TForm.FormStyle


15-1172409457
Par
2007-02-25 16:17
2007.03.25
как скачивать фильмы чтобы провайдер не понял что это фильмы


6-1160204036
psa247
2006-10-07 10:53
2007.03.25
Ускорить работу WNetEnumResource


15-1172952909
Prede
2007-03-03 23:15
2007.03.25
Macintosh