Приветствую разработчиков!
Имеем версию ODAC 10.1.3. Ошибка возникает при использовании фильтра на датасете.
Для воспроизведения ошибки:
DFM
object oqFindData: TOraQuery
SQL.Strings = (
'select '#39'AAA'#39' name, 0 chk from dual'
'union select '#39'BBB'#39' name, 1 chk from dual')
OnFilterRecord = oqFindDataFilterRecord
Left = 88
Top = 248
end
Код
var
sMatch: string; // global
procedure TForm1.oqFindDataFilterRecord(DataSet: TDataSet; var Accept: Boolean);
begin
Accept := (Pos(UpperCase(sMatch), UpperCase(DataSet.FieldByName('name').AsString) ) > 0);
end;
procedure TForm1.btnStep1Click(Sender: TObject);
begin
sMatch:= 'AAA';
oqFindData.Open;
oqFindData.Filtered := False;
oqFindData.Filter:= '';
oqFindData.Filtered := True;
oqFindData.Edit;
oqFindData.FieldByName('chk').Value := 1;
end;
procedure TForm1.btnStep2Click(Sender: TObject);
begin
sMatch := '';
oqFindData.Filtered := False;
oqFindData.Filter:= '';
end;
Последовательно нажимаем btnStep1 и btnStep2. При клике на второй кнопке вылетает ошибка:
Assertion failure (D:\Projects\Delphi\Dac\Common\Source\MemData.pas, line 7245).
Будем благодарны за исправление этой ошибки.
Возникновении ошибки Assertion failure (MemData.pas, line 7245))
Возникновении ошибки Assertion failure (MemData.pas, line 7245))
Последний раз редактировалось vostden Пн 29 янв 2018 06:36, всего редактировалось 1 раз.
Re: Возникновении ошибки Assertion failure (MemData.pas, line 7245))
Спасибо за информацию. Мы исследуем данное поведение ODAC и сообщим Вам результат.
Re: Возникновении ошибки Assertion failure (MemData.pas, line 7245))
Новый билд ODAC 10.1.4, включающий исправление Assert ошибки при при использовании фильтра, уже доступен для скачивания.
Re: Возникновении ошибки Assertion failure (MemData.pas, line 7245))
Доброго времени суток!
На ODAC билд 10.1.4 ошибка по-прежнему возникает. На том же коде, что из первого поста.
Пожалуйста, проверьте повторно.
На ODAC билд 10.1.4 ошибка по-прежнему возникает. На том же коде, что из первого поста.
Пожалуйста, проверьте повторно.
Re: Возникновении ошибки Assertion failure (MemData.pas, line 7245))
Мы просим прощение за неточность. Да, действительно данное исправление не вошло в ODAC 10.1.4, оно войдет в следующий билд ODAC.
Мы можем выслать вам ночной билд ODAC, включающий данное исправление. Для этого, пожалуйста, пришлите нам свой регистрационный номер и используемые IDE на viktorv*devart*com.
Мы можем выслать вам ночной билд ODAC, включающий данное исправление. Для этого, пожалуйста, пришлите нам свой регистрационный номер и используемые IDE на viktorv*devart*com.