Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

При переключении между чекбоксами - ошибка Stack overflow. [D7, WinXP]


Страницы:   1 2 3

Dr.Andrew ©   (2008-08-26 20:22:00) 

Добрый вечер!

Тестировано на Delphi 2007 win32 и Windows Vista Home Basic.
Проблемы с компонентом TCheckBox.
Вот два варианта кода:

procedure TForm1.CheckBox1Click(Sender: TObject);
// var i : Integer;
begin
{ for i := 0 to GroupBox1.ControlCount-1 do
begin
if TComponent(Sender).Tag = i then
(GroupBox1.Controls[i] as TCheckBox).Checked := True
else
(GroupBox1.Controls[i] as TCheckBox).Checked := False;
end; }

if Sender = CheckBox1 then
begin
CheckBox1.Checked := True;
CheckBox2.Checked := False;
CheckBox3.Checked := False;
CheckBox4.Checked := False;
end
else
if Sender = CheckBox2 then
begin
CheckBox1.Checked := False;
CheckBox2.Checked := True;
CheckBox3.Checked := False;
CheckBox4.Checked := False;
end
else
if Sender = CheckBox3 then
begin
CheckBox1.Checked := False;
CheckBox2.Checked := False;
CheckBox3.Checked := True;
CheckBox4.Checked := False;
end
else
if Sender = CheckBox4 then
begin
CheckBox1.Checked := False;
CheckBox2.Checked := False;
CheckBox3.Checked := False;
CheckBox4.Checked := True;
end;
end;


Финал один при переключении между чекбоксами выдает компиллятор следующую ошибку:

---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EStackOverflow with message 'Stack overflow'.
---------------------------
Break Continue Help
---------------------------

В чем проблема?

Спасибо.


Юрий Зотов   (2008-08-26 20:56:00) [41]

Судя по коду, тут больше подходит TRadioGroup, а не набор TCheckBox.


Dr.Andrew   (2008-08-26 20:53:00) [42]

Да, но на делфи 7 все было нормально, а в делфи 2007 вот такая проблема. Это связано с делфи 2007 и ее спецификой. Можно подробнее объяснить. Спасибо.


TStas   (2008-08-26 20:44:00) [43]

В том, что Вы в обработчике щелчка меняете состояние ЧекБокса, что вызывает этот же обработчик.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо