Форум: "Основная";
Текущий архив: 2002.07.08;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "Основная";
Текущий архив: 2002.07.08;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c