Delphi XE3ではWinapi.Windows.pas
、以前は および として定義されていた多くの C 型がPWideChar
、PAnsiChar
現在はそれぞれMarshaledString
およびとして定義されてMarshaledAString
います (例: PWChar
、LPSTR
):
PWChar = MarshaledString;
LPSTR = MarshaledAString;
実際、 in System.pas
、MarshaledString
およびはそれぞれおよび とMarshaledAString
同等です。PWideChar
PAnsiChar
MarshaledString = PWideChar;
MarshaledAString = PAnsiChar;
しかし、この決定の背後にある背景は何ですか?つまり、エンバカデロがそのような C 文字列型を再定義する必要があるのはなぜですか?