| Unicode 版の Delphi で PAnsiChar 型の文字列を StrPCopy 関数で使用する場合は,次のように,uses に AnsiStrings を追加して明示的に AnsiStrings を
 記述しみてください.
 
 implementation
 
 uses
 AnsiStrings;
 
 {$R *.dfm}
 
 procedure TForm1.Button1Click(Sender: TObject);
 var
 LPAnsiChar  : PAnsiChar;
 begin
 LPAnsiChar := AllocMem(200);
 try
 AnsiStrings.StrPCopy(LPAnsiChar, '日本語 ABC 文字列');
 Memo1.Lines.Add(string(LPAnsiChar));
 finally
 FreeMem(LPAnsiChar);
 end;
 end;
 
 procedure TForm1.Button2Click(Sender: TObject);
 var
 LAnsiString : AnsiString;
 LPAnsiChar  : PAnsiChar;
 begin
 LAnsiString := '日本語 ABC 文字列';
 LPAnsiChar  := AllocMem(Length(LAnsiString) + 1);
 try
 AnsiStrings.StrPCopy(LPAnsiChar, LAnsiString);
 Memo1.Lines.Add(string(LPAnsiChar));
 finally
 FreeMem(LPAnsiChar);
 end;
 end;
 
 
 
  |