首页 > 其他 > 详细

fastreport6的frxpngimage.pas不能编译xe下

时间:2019-09-14 16:45:43      阅读:124      评论:0      收藏:0      [点我收藏+]

升级很痛苦,因为兼容问题。

fastreport6的frxpngimage.pas不能编译出现错误

procedure TChunkIDAT.CopyInterlacedRGB8(const Pass: Byte;
  Src, Dest, Trans{$IFDEF Store16bits}, Extra{$ENDIF}: pChar);
var
  Col: Integer;
begin
  {Get first column and enter in loop}
  Col := ColumnStart[Pass];
  Dest := pChar(Longint(Dest) + Col * 3);
  repeat
    {Copy this row}
    Byte(Dest^) := fOwner.GammaTable[pByte(Longint(Src) + 2)^]; inc(Dest);
    Byte(Dest^) := fOwner.GammaTable[pByte(Longint(Src) + 1)^]; inc(Dest);
    Byte(Dest^) := fOwner.GammaTable[pByte(Longint(Src)    )^]; inc(Dest);

    {Move to next column}
    inc(Src, 3);
    inc(Dest, ColumnIncrement[Pass] * 3 - 3);
    inc(Col, ColumnIncrement[Pass]);
  until Col >= ImageWidth;
end;

把all pChar改成类型PAnsiChar。自己查pChar和PAnsiChar在高版本的xe中有啥不同可知。

对于2009年以前版本的Delphi PChar 和 PAnsiChar 完全一样。他们都指向(Ansi)字符。

在D2009及以后: PChar 是一个指向 Char 的指针,它是一个unicode字符(一个 WideChar )。而 PAnsiChar 是一个指向 AnsiChar 的指针,- 顾名思义 - 一个ANSI字符

 

fastreport6的frxpngimage.pas不能编译xe下

原文:https://www.cnblogs.com/usegear/p/11519267.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!