Пользователи жаловались на тихий вылет софтины при попытке показа формы с фильтром. Наконец то удалось отловить этот весьма неприятный баг. Оказалось в определенных случаях одно из полей вообще не создавалось. SQL запрос так формировался, мой косяк, но все же может стоит немного исправить в rxfilterby
- Код: Выделить всё
procedure TrxFilterByForm.ClearALL(AGrid: TRxDBGrid)
for i := 0 to AGrid.Columns.Count - 1 do
begin
if (AGrid.Columns[i].Field.FieldKind = fkData) and (AGrid.Columns[i].Visible) then
begin
Combo_1[1].Items.Objects[Combo_1[1].Items.Add(AGrid.Columns[i].Title.Caption)] :=
AGrid.Columns[i].Field;
end;
end;
на
- Код: Выделить всё
for i := 0 to AGrid.Columns.Count - 1 do
begin
if Assigned(AGrid.Columns[i].Field) and (AGrid.Columns[i].Field.FieldKind = fkData) and (AGrid.Columns[i].Visible) then
begin
Combo_1[1].Items.Objects[Combo_1[1].Items.Add(AGrid.Columns[i].Title.Caption)] :=
AGrid.Columns[i].Field;
end;
end;
А вообще дебаггер Лазаря оставляет желать лучшего. Как отлаживать то сторонние компоненты? Брейкпоинты на исходниках вне проекта не работают. Только стек вызовов выручает, а дальше по старинке запись построчных логов в файл.