喫茶XRAYトップページ

[スレッド全体
]

[12026] PAnsiCharをStrPCopy関数で使用返信 削除
2018/7/11 (水) 06:27:25 Mr.XRAY
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;



[12050] 更なる前進のために返信 削除
2018/7/14 (土) 18:15:56 Mr.XRAY
今回の件が落ち着いたら以下の記事をさらっとでいいですからお読みになると
いいかも知れません.

[Delphi Unicodeワールド パートIII: コードをUnicode対応にする ]
http://edn.embarcadero.com/jp/article/38699

上の記事は以下のページからもリンク貼っています.
[Delphi 2009 以降の Unicode に関する記事]
http://mrxray.on.coocan.jp/Delphi/Others/A_Delphi_OnlieHelp.htm#06


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82