0

在纠正基本错误时,我试图将 GraphicEx 组件库(用于 PNG 文件)从我的 Delphi 2006 移植到 XE3(终于得到它),我陷入了这个错误:

"TPNGGraphic.IsChunk" invalid type cast

在行:

function TPNGGraphic.IsChunk(ChunkType: TChunkType): Boolean;

// determines, independant of the cruxial 5ths bits in each "letter", whether the
// current chunk type in the header is the same as the given chunk type

const
  Mask = not $20202020;

begin
  Result := (Cardinal(FHeader.ChunkType) and Mask) = (Cardinal(ChunkType) and Mask); // <-- this line
end;

有谁知道我该怎么做才能纠正它?

4

1 回答 1

6

TchunkType 定义为

type
  TChunkType = array[0..3] of Char;

因此编译器无法将TChunkType类型转换为 Cardinal。

尝试将定义更改为

type
  TChunkType = array[0..3] of AnsiChar;
于 2013-03-07T20:14:06.647 回答