TMapAccess.maReadWrite 未使用 DELPHI 11 定义

TMapAccess.maReadWrite not defined using DELPHI 11

下面的代码片段适用于 DELPHI 10.4 和 FMX 框架,但不能使用 DELPHI 11 进行编译。错误:maReadWrite 未定义

[dcc64 Error] ImageUnit.FMX.pas(5340): E2003 Undeclared identifier: 'maReadWrite'

如何解决这个问题以及如何编写使用 DELPHI 10.4 和 DELPHI 11 编译的代码?

 var bit : TBitmap;
 begin
  if (Bit.Map(TMapAccess.maReadWrite, bitdata1)) then
    try
      for i := 0 to Bit.width - 1 do
        for j := 0 to Bit.height - 1 do
        begin

ma 前缀开头的 TMapAccess 值已 弃用 10.4 之前删除前缀(即 maRead -> ReadmaWrite -> WritemaReadWrite -> ReadWrite)。您应该在 10.4 中收到关于此的编译器警告。

前缀值最终在 11.0 Alexandria 中完全删除。

因此,为两个版本编写此代码的正确方法是简单地使用较新的 non-prefixed 值名称,例如:

if (Bit.Map(TMapAccess.ReadWrite, bitdata1)) then