Тема: Stuck Overflow
Показать сообщение отдельно
  #2  
Старый 09.10.2008, 23:10
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,088
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну да, событие OnChange комбобокса внутри себя меняет значение этого комбобокса. Естественно, получаешь ошибку Stack overflow (переполнение стека), т.к обработка изменения приводит к запуску еще одной обработки (изменение значения).

Попроьбуй в начале отключить этот обработчик, а в конце его подключить обратно:
Код:
procedure TForm4.ComboBox1Change(Sender: TObject);
begin
  ComboBox1.Onchange := Nil;
  // Здесь как и было раньше (твой код)
  ComboBox1.Onchange := ComboBox1Change;
end;