次のコードはDelphi 5を使用してコンパイルして動作しますが、Delphi 10.1 Berlinを使用していません。Delphi 10.1 BerlinでBDE API(BdiCopyTable)を使用
function CopyTable(const tSource: TwwTable; const Destination: string): DBIResult;
var
pSourceTableName, pDestination: array[0..DBIMAXTBLNAMELEN] of char;
begin
tSource.Open;
StrPCopy(pSourceTableName, tSource.TableName);
StrPCopy(pDestination, Destination);
Result := DbiCopyTable(tSource.DBHandle, False, pSourceTableName, nil, pDestination);
tSource.Close;
end;
コンパイラレポート[DCC32エラー] SUPPORT1.PAS(3655):E2010互換性のないタイプ: 'PAnsiChar' と '配列[0..260]シャアの' 二回。
クリーンでコンパイルされ、意図したとおりに動作するように変更するにはどうすればよいですか? NB。私は大規模な移行のこの段階でBDEを廃止することはできません。
あなたはStrPCopy - http://docwiki.embarcadero.com/Libraries/Seattle/en/System.SysUtils.StrPCopyの宣言を見ましたか? – RBA
コンパイラ/例外エラーメッセージを常にインクルードします。 –
私は、BDEがこのような現代版のDelphiで全く動作しないことにかなり驚いています。私は彼らが多くのバージョンを前に完全に削除したと思った。手動でインストールしましたか? –