« PORTA PROの交換用イヤーパッド購入 | メイン | UnicodeString#LastChar()がILINK32エラー »

C++Builder2009とDelphi2009のUnicodeStringの挙動の違い

C++Builder2009では、UnicodeStringからRawByteStringへ、
または反対にRawByteStringからUnicodeStringへ代入をした場合、
代入された値はNULLになります。

RawByteString raw = "123";
UnicodeString uni = raw; //uniはNULL

UnicodeString uni = "123";
RawByteString raw = uni; //rawはNULL

一方、Delphi2009では、代入された値が入ります。
# 警告が出ます。

var
  raw: RawByteString;
  uni: UnicodeString;
begin
  raw := '123';
  uni := raw; //uniは123

  uni := '123';
  raw := uni; //rawは123

C++Builder利用者がDelphi向けの文書を読むときは、 この違いに気をつける必要があります。

トラックバック

このエントリーのトラックバックURL:
http://www.gesource.jp/mt/mt-tb.cgi/880

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2009年01月14日 19:54に投稿されたエントリーのページです。

ひとつ前の投稿は「PORTA PROの交換用イヤーパッド購入」です。

次の投稿は「UnicodeString#LastChar()がILINK32エラー」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35