Вниз
Скачать: 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.008 c
6-23716
cyborg
2002-04-24 23:48
2002.07.08
Socket - Internet - не работает!


7-23819
SerVS - S
2002-04-09 20:45
2002.07.08
Сервис + сообщения


3-23463
masik
2002-06-07 18:27
2002.07.08
SQL


14-23729
Snake2000
2002-05-30 18:26
2002.07.08
Хочу купить TV-тюнер. Помогите.


3-23478
АлексейК
2002-06-15 13:01
2002.07.08
Базы данных




   Наверх