如何修复错误:Delphi中需要数组类型



我使用的是Delphi 7,我试图在CEF4 Delphi中编译名为uWebBrowser(OSRDLLBrowser.dpr(的演示应用程序,但我收到了一个错误:

TempSrcOffset := ((dirtyRects[n].y * Width) + dirtyRects[n].x) * SizeOf(TRGBQuad);
TempDstOffset := ((TempScanlineSize * pred(TempHeight)) - (dirtyRects[n].y * TempScanlineSize)) +
(dirtyRects[n].x * SizeOf(TRGBQuad));
src := @PByte(buffer)[TempSrcOffset];
dst := @PByte(TempBufferBits)[TempDstOffset];

[错误]uWebBrowser.pas(455(:需要数组类型的

我知道src := @PByte(buffer)[TempSrcOffset];试图分配不是数组的值,但你能解释一下为什么以及如何修复它吗?

注:

现在我正在处理这些二进制文件:https://github.com/salvadordf/OldCEF4Delphi使用D7,操作系统XP 32位,运行良好。

使用PByteArray而不是PByte

在较新的Delphi版本中,当编译器指令{$POINTERMATH}ON(帮助(时,您可以将[]索引应用于键入的指针

D2009以前的指针算法只针对PChar (PAnsiChar)、AFAIK-实现

相关内容

  • 没有找到相关文章

最新更新