Вниз
Скачать: CL | DM;

Access Violation при работе с TComboBox.   Найти похожие ветки 

← →
Дельфятник   (2002-06-26 17:37) [0]

У меня есть обработчик события OnChange для нескольких TComboBox. Вот его код:

procedure TInputForm.ComboBox1Change(Sender: TObject);
begin
if ((Sender as TComboBox).Text<>"") and ((Sender as TComboBox).Text<>" ") and
(not (Sender as TComboBox).DroppedDown)
then (Sender as TComboBox).OnClick(Sender)
end;

Проблема в том, что не у всех ComboBox"ов есть обработчик события OnClick, поэтому у них происходит Access Violation при попытке вызова этой процедуры. Как должно выглядеть условие проверки наличия обработчика события OnClick?


← →
Skier ©   (2002-06-26 17:39) [1]

>Дельфятник
Через RTTI


← →
Skier ©   (2002-06-26 17:44) [2]

Ой, не так вопрос понял. Извини.
Нужно проверять на nil.


← →
Дельфятник   (2002-06-26 18:22) [3]

Я добавил условие Assigned((Sender as TComboBox).OnClick), и теперь Access Violation выскакивает только один раз - при первом вызове OnChange, хотя, возможно, где-то ещё в программе надо добавить эту проверку.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: -0.991 c
1-23542
putim
2002-06-26 17:17
2002.07.08
вопрос


8-23687
Лёша
2002-02-22 17:02
2002.07.08
Цифровой фильтр.


1-23551
will
2002-06-26 18:17
2002.07.08
needhelp


14-23763
Abajun
2002-06-06 11:06
2002.07.08
Потеря данных на винте


1-23546
Дельфятник
2002-06-26 17:37
2002.07.08
Access Violation при работе с TComboBox.




   Наверх