For licensing my software, I use the PKVS described here:
https://www.brandonstaggs.com/2007/07/26/implementing-a-partial-serial-number-verification-system-in-delphi/
In VCL works fine but I have problems with it in Firemonkey.
When I call PKV_GetKeyByte I get error message 'Range check error'.
function PKV_GetKeyByte(const Seed : Int64; a, b, c : Byte) : Byte;
begin
a := a mod 25;
b := b mod 3;
if a mod 2 = 0 then
result := ((Seed shr a) and $000000FF) xor ((Seed shr b) or c)
else
result := ((Seed shr a) and $000000FF) xor ((Seed shr b) and c);
end;
Any help?
Thank you very much.