Вниз
Скачать: 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.009 c
7-23816
ATLANTIDO
2002-03-09 00:11
2002.07.08
без asmы


7-23805
JohnKorsh
2002-04-10 08:10
2002.07.08
Работа с последовательными портами.


7-23794
Deniz
2002-04-08 08:48
2002.07.08
Модем ???


14-23744
Сергей А.
2002-06-06 00:06
2002.07.08
Игры на Delphi


14-23734
lak_b
2002-06-06 00:26
2002.07.08
Interbase




   Наверх