GrdSRC()выбрасывает исключение
Пытаюсь перейти на SDK 7.9 с SDK 6.3.1.
Обнаружил, что GrdCRC() выбрасывает исключение "Range Check Error" на некоторых данных.
Вы не авторизованы. Пожалуйста, войдите или зарегистрируйтесь.
Форум Guardant → Технологии защиты → GrdSRC()выбрасывает исключение
Страницы 1
Чтобы отправить ответ, нужно авторизоваться или зарегистрироваться
Пытаюсь перейти на SDK 7.9 с SDK 6.3.1.
Обнаружил, что GrdCRC() выбрасывает исключение "Range Check Error" на некоторых данных.
Пример:
program tstGrdSRC;
{$APPTYPE CONSOLE}
uses
SysUtils,
grddelphi;
var
fASrc: array[0..63] of Byte = (
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
);
fBSrc: array[0..63] of Byte = (
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
);
fCrc: Cardinal;
fRez: Cardinal;
begin
try
try
fRez := GrdStartup(GrdFMR_Local);
fCrc := GrdCRC(@fASrc[0], 64, Grd_StartCRC); // OK
fCrc := GrdCRC(@fBSrc[0], 64, Grd_StartCRC); // *** Range Check Error! **
except
on E: Exception do
Writeln(E.Classname, ': ', E.Message);
end;
finally
fRez := GrdCleanup();
end;
end.
Delphi 2007 (включена опция "Range checking" в опциях компилятора Runtime errors),
Win10
Guardant SDK 7.9
...
Исключение не выбрасывается с SDK 6.31.
Выложите, пожалуйста, исправленные версии *.obj файлов.
Добрый день.
Мы передали информацию о проблеме с исключением "Range Check Error" в функции GrdCRC при использовании SDK 7.9 нашим разработчикам. Как только появятся новости по этой проблеме, мы вам сообщим.
Страницы 1
Чтобы отправить ответ, нужно авторизоваться или зарегистрироваться
Форум Guardant → Технологии защиты → GrdSRC()выбрасывает исключение