anchor.diff:    srcrowsize:=fImage.width*SizeOf(TRGBTriple);
     for row := 0 to Image.height - 1 do
     begin
  -    source:=pointer(cardinal(fImage.pxl)+(fOptions.xMin*Sizeof(TRGBTriple))+(row+fImage.height-options.yMax)*srcrowsize);
  +    source:=pointer(cardinal(fImage.pxl)+(Cardinal(fOptions.xMin)*Sizeof(TRGBTriple))+(row+cardinal(fImage.height-options.yMax))*srcrowsize);
       destination:=pointer(cardinal(Image.pxl)+row*destrowsize);
       Move(source^,destination^,destrowsize);
     end;
  
positive.code:   try
      if SetDecodeOptions(decode,image,options) then
      begin
        PageScanCount:=0;
        timeout:=nil;
        if options.timeoutMS>0 then
        begin
  
negative.code:   decode:pDmtxDecode;
    image:PDmtxImage;
    region: pDmtxRegion;
    msg:pDmtxMessage;
    timeout: pDmtxTime;
  
  begin
  