java73 писал(а):подтверждаю уход ошибки при изменении в 88 строке or на and, в customforms вернул все в зад.
можно заменить на:
- Код: Выделить всё
if FRecordUpdated and (FLookup.ControlItems <> nil) and (FLookup.ControlItems.Count <> DataSet.RecordCount) then
И судя по коду, программа получала true на FRecordUpdated, в то время когда FLookup.ControlItems было равно nil ... и поэтому было обрушение. И естественно выполнялось, вот это: FLookup.ControlItems.Count <> DataSet.RecordCount. Короче, то и это - приводили к обрушению. Например когда FLookup, не инициализирован или инициализирован неправильно. Затем RecreateWnd/HandleNeeded; вызывали инициализацию и баг нивелировался.
Не поленитесь и проверьте и возможно вам повезёт найти настоящего бага в неправильной коммутации контролов.
Точнее в неправильной организации интерфейса.
tema писал(а):Если в TDBLookupComboBox с включённым AutoComlete лазаруса 1.7 пытаться вводить символы, то первый ввести можно, а вот при вводе второго всё затирается и в комбобоксе остаётся только второй.
Это также может происходить в следствии неправильной организации/коммутации интерфейса, которую раньше не было видно, т.к. вызывалась повторная инициализация.
Добавлено спустя 55 минут 55 секунд:Да вот ещё, после замены and на or, судя по коду, скорее всего вы сможете добавлять новые строки, но из-за and - не сможете редактировать старые строки, т.к. (FLookup.ControlItems.Count при редактировании, будет равно DataSet.RecordCount).
Рекомендую проверить, так ли это?Дальнейшую вангинацию провести невозможно, т.к. хитрый баг спрятался между 88 и 17 строкой
.