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

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

Access Violation при работе с TComboBox. [D5, Win2k]


Дельфятник ©   (2002-06-26 17:37:00) 

У меня есть обработчик события 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?


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

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


Skier   (2002-06-26 17:44:00) [2]

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


Skier   (2002-06-26 17:39:00) [3]

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


Наверх

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