码迷,mamicode.com
首页 > 其他好文 > 详细

fastreport6的frxpngimage.pas不能编译xe下

时间:2019-09-14 16:39:06      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:tab   fir   copy   ida   class   long   png   this   row   

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

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下

标签:tab   fir   copy   ida   class   long   png   this   row   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!