Такс, дополню
почему ,
желательно, в этом участке кода именно так сделать:
- Код: Выделить всё
if FRecordUpdated and (FLookup.ControlItems <> nil) then //т.е. мы узнали что модификация была и существуют "записи", производим заполнение и отрисовку
// (FLookup.ControlItems.Count <> DataSet.RecordCount)) then //а зачем это проверять то? Убирая эту часть ничего с логикой работы не станет.
то что выскакивает исключение в FLookup.ControlItems.Count - иной разговор. Надо смотреть подробнее кто виноват. Сам FLookup затрагивается в нескольких частях. Плюс это объект. Где конкретно происходит порча - к.з.. А вот то что они по несколько раз кряду "заполняются" - довольно точно. При каждом чихе... идрынь. Но это уже иной вопрос.
Кстати: FLookup.ControlItems.Count вполне таки работает. Т.е. выдает кол-во записей, как и сами записи. Что то "мелькало" о нерабочести.
По поводу предка формы. Уж не знаю чем это поможет. И насколько глобально затронет по мелочам. Уж проще подправить компонент и работать далее, нежели нарваться на "прелести".
И, кстати, я попробовал предложенный патч. И баг с табами по ссылке. Как было ави так и осталось. Хотя, если честно, я бы по другому организовал что было необходимо вопрошающему.
п.с.
Но, возможно, существует более продвинутое рабочее предложение. И то что я предлагаю - не есть дефакто. Простые правки, по логике. Которые почему то подправили баг.? Или где то ошибся?
Добавлено спустя 5 минут 25 секунд:ясно доказал, что баг не в ShowModal - этого более чем достаточно
я не показатель. Должен быть мотивированный отказ от предложенного. Т.е. не фотки чикать и писать странности, а указать: в чём прав, или нет. И указать причину. И работать не со следствием, а с самого начала.
п.с.
В принципе: "бородатый троль" мне более нравитсо