Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RecordIndex out of range!!! DevExpress!!! Проблема с DBExtLookupCombobox! 
:(
    Опции темы
CrazyDriver
  Дата 28.3.2005, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.2.2005

Репутация: нет
Всего: нет



Здравствуйте! Может кто сталкивался с такой проблемой: имются 3 таблицы связанные по порядку друг с другом MASTER-DETAIL отношениями.

Таблица1<->Таблица2<->Таблица3

где <-> - MASTER-DETAIL отношение.

А также три комбобокса (DBExtLookupCombobox). которые связанны с этими таблицами (через датасеты и датасорсы соответственно) и работают по следующему принципу. Когда в первом комбобоксе выбирается запись и родительской таблицы, во втором формируются записи, соответствующие записи в родительской таблице 1, а во третьем комбобоксе формируются записи, соответствующие записи в родительской таблице 2 (она явлется родительской для таблицы3 и дочерней для таблицы 1).

Все работает прекрасно, до тех пор пока в каждой дочерней таблице имеются записи, соответствующие родительским.
НО!!! Если в таблице 1 имеется запись, а в дочерней таблице 2 отсутствуют дочерние записи, на эту родительскую запись в таблице 1, как при выборе этой записи в комбобоксе 1 все валится с ошибками типа: "RecordIndex out of range", "List Index out of bounds".

Что делать с этим девэкспрессовским глюком не понимаю. я что только не пробовал!!!

Я, как в принципе думаю и ВЫ не считаю отсутствие дочерних записей поводом к такого рода диким ошибкам...

Что делать??? Помогите пожалуйста... А то я уже в тупик зашел с этой прблемой....

Заранее благодарен...
PM MAIL   Вверх
~FoX~
Дата 28.3.2005, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 4
Всего: 68



Код

try
except
end



--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Петрович
Дата 28.3.2005, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 6
Всего: 55



Похоже, в DBExtLookupCombobox используются закладки для запоминания позиции в наборе данных. Однако, если между запоминанием Bookmark и ее восстановлением, изменяется кол-во записей в наборе, то при восстановлении случаются подобные казусы. smile
Единственный, на мой взляд, выход, это найти в исходниках DBExtLookupCombobox место где восстанавливается закладка, и обрамить ее восстановление try except. Найти можно включив остановку по Exception.
Можно правда сделать и без коррекции исходников. Для этого надо определить свой компонент доступа к данным унаследовав его от того который используешь сейчас. В новом компоненте переопределить виртуальный метод SetBookmarkStr, в котором вызвать inherited, обрамив его try exept. Далее, используй в программе только новый компонент.



--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0749 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.