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