1

次の関数でエラーが発生Incompatible types: 'PPointerList' and 'TPointerList'しています。

function MyFunction: PPointerList;
begin
  result := FList.List;
end;

FList.List は TPointerList 型を返します。このコードは Delphi 7 コードでは問題なく動作しますが、Delphi XE4 ではエラーがスローされます。

PPointerList と TPointerList は System.Classes で宣言されています。

System.Classes 内

PPointerList = ^TPointerList;
TPointerList = array of Pointer;

TPointerListをPPointerListに型キャストすると、次のように機能しました

function MyFunction: PPointerList;
begin
  result := PPointerList(FList.List);
end;

それは正しい解決策ですか、それともこのエラーを取り除くために何をすべきですか。

4

1 に答える 1