Возникновении ошибки Assertion failure (MemData.pas, line 7245))

Обсуждение возникших проблем, предложений и ошибок ODAC компонентов

Ответить
vostden
Сообщения: 4
Зарегистрирован: Чт 28 дек 2017 05:50

Возникновении ошибки Assertion failure (MemData.pas, line 7245))

Сообщение vostden » Чт 28 дек 2017 06:13

Приветствую разработчиков!
Имеем версию 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).

Будем благодарны за исправление этой ошибки.
Последний раз редактировалось vostden Пн 29 янв 2018 06:36, всего редактировалось 1 раз.

ViktorV
Devart Team
Сообщения: 193
Зарегистрирован: Чт 31 июл 2014 09:52

Re: Возникновении ошибки Assertion failure (MemData.pas, line 7245))

Сообщение ViktorV » Чт 28 дек 2017 11:33

Спасибо за информацию. Мы исследуем данное поведение ODAC и сообщим Вам результат.

ViktorV
Devart Team
Сообщения: 193
Зарегистрирован: Чт 31 июл 2014 09:52

Re: Возникновении ошибки Assertion failure (MemData.pas, line 7245))

Сообщение ViktorV » Чт 18 янв 2018 12:09

Новый билд ODAC 10.1.4, включающий исправление Assert ошибки при при использовании фильтра, уже доступен для скачивания.

vostden
Сообщения: 4
Зарегистрирован: Чт 28 дек 2017 05:50

Re: Возникновении ошибки Assertion failure (MemData.pas, line 7245))

Сообщение vostden » Пн 29 янв 2018 06:35

Доброго времени суток!
На ODAC билд 10.1.4 ошибка по-прежнему возникает. На том же коде, что из первого поста.
Пожалуйста, проверьте повторно.

ViktorV
Devart Team
Сообщения: 193
Зарегистрирован: Чт 31 июл 2014 09:52

Re: Возникновении ошибки Assertion failure (MemData.pas, line 7245))

Сообщение ViktorV » Пн 29 янв 2018 10:57

Мы просим прощение за неточность. Да, действительно данное исправление не вошло в ODAC 10.1.4, оно войдет в следующий билд ODAC.
Мы можем выслать вам ночной билд ODAC, включающий данное исправление. Для этого, пожалуйста, пришлите нам свой регистрационный номер и используемые IDE на viktorv*devart*com.

Ответить