FreePaul
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Здравствуйте! Как я понял по форуму EhLib, похожая ошибка периодически возникает у разных людей, но разработчики упрямо не хотят добавить обработчик события к примеру OnFilterError. Суть: Имеется ADO-подключение к Active Directory. В ADOQuery отбираются Ф.И.О., отдел, должность и телефон. Все это отображается в DBGridEh. Там же настроено свойство SearchPanel, в котором так же настроено FilterOnTyping:=True. Строка поиска показывается постоянно. При вводе на английском языке какого-либо значения для поиска по всей "БД", получаем сообщение об ошибке: "Project <ИмяЕхе> raised exception class EVariantTypeCastError with message 'Could not convert variant of type (Null) into type (OleStr)'" Если перед вводом переключиться на Русский, все нормально ищется. Что, собственно, и неудивительно - все сведения в выбираемых полях (кроме телефонов) - на "великом и могучем". Дополнение: подобная же ошибка выходит при вводе значения для поиска на Русском, если искомого значения нет в результатирующем наборе данных. К примеру, если ввести "иванов" - все нормально. Но если ввести "ивн" (пропустить "по запарке" одну букву) - получаем такую же ошибку. Можно ли как-то подавить вывод этого сообщения об ошибке? Пусть бы, к примеру, пользователь в этом случае получал пустой набор данных. Разобрался. В обработчике AfterScroll для ADOQuery было прописано вытягивание данных и их внесение в Label (данные не отображаются в DBGridEh). Убрал оттуда все - ошибка ушла.
---------- Восход Солнца - это хорошо для начала... |
| Всего записей: 932 | Зарегистр. 07-08-2002 | Отправлено: 06:51 22-08-2022 | Исправлено: FreePaul, 04:06 23-08-2022 |
|