Components for Delphi and C++ Builder.

Перейти в английский форум
Перейти на EhLib.com
Текущее время: 27 апр 2024, 13:54

Часовой пояс: UTC




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
СообщениеДобавлено: 17 дек 2023, 13:01 
Не в сети

Зарегистрирован: 27 окт 2023, 17:20
Сообщений: 3
Имеется Delphi 11.3, EhLib 10.2. Для теста создал простое приложение, все что там есть: MemTableEh, DataSource, Edit и DBGridEh. В MemTableEh есть одно текстовое поле Name. Заполняю его данными, при вводе текста в Edit на событии OnChange делаю:
Код:
MemTableEh1.Filter:='(Name LIKE ''%'+Edit1.Text+'%'') ';
MemTableEh1.Filtered:=true;

На 32 битной версии приложения все нормально работает, но стоит запустить 64 битную версию и при попытке фильтрации получаю ошибку при попытке установить "Filtered:=true" - c0000005 ACCESS_VIOLATION.

Куда копать, что делать, в чем причина?

ДОПОЛНЕНИЕ:
Проверил программу с исходниками EhLib. В модуле MemTableDataEh строка 6809 есть функция:
Код:
function FilterDataStartPos(AFilterData: TExprData): Pointer;
begin
   Result := Pointer(IntPtr(PByte(AFilterData)) + CANHDRSIZE + StartPos);
end;

Result в случае х64 приложения получается строка короткая для адреса х64.
Тип IntPtr определен в модуле EhLibVCL строка 41:
Код:
{$IFDEF EH_LIB_9}
  IntPtr = Integer;
{$ELSE}
  IntPtr = NativeInt;
{$ENDIF}

В этой ситуации очевидно IntPtr определяется как Integer, если закомментировать и оставить только "IntPtr = NativeInt;", то ошибки нет.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 19 дек 2023, 13:28 
Не в сети

Зарегистрирован: 21 дек 2011, 18:48
Сообщений: 1549
Добрый день.

В EhLib 11.0 и 11.1 ошибка не воспроизводиться.
Свяжитесь, пожалуйста, с тех. поддержкой (support@ehlib.com).
Возможно, вам доступны эти версии библиотеки.

_________________
Best regards
EhLib support Team


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB