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
-> Read
、maWrite
-> Write
、maReadWrite
-> ReadWrite
)。您应该在 10.4 中收到关于此的编译器警告。
前缀值最终在 11.0 Alexandria 中完全删除。
因此,为两个版本编写此代码的正确方法是简单地使用较新的 non-prefixed 值名称,例如:
if (Bit.Map(TMapAccess.ReadWrite, bitdata1)) then
下面的代码片段适用于 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
-> Read
、maWrite
-> Write
、maReadWrite
-> ReadWrite
)。您应该在 10.4 中收到关于此的编译器警告。
前缀值最终在 11.0 Alexandria 中完全删除。
因此,为两个版本编写此代码的正确方法是简单地使用较新的 non-prefixed 值名称,例如:
if (Bit.Map(TMapAccess.ReadWrite, bitdata1)) then