我使用的是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-实现