C++ Builder XE3 を使用していますが、AnsiString で奇妙な問題に遭遇しました。
以下のコードを見てください
//Code 1: first time
AnsiString temp1 = "test" ;
funcA(temp1,temp1);
//Code 2: second time
String uTemp2 = "test";
AnsiString temp2 = uTemp2;
funcA(temp2,temp2);
私の想像では、最初はうまくいきますが、2回目には「Bad Format」例外がスローされます。そして、コード 2 で一度 funcA を呼び出しただけでも、問題は残りました。
temp1またはtemp2内でShowMessageを実行しても違いはありません。2回の呼び出しで異なる結果が得られた理由がまったくわかりません。
funcA は、少し複雑なコードを持つ 3 番目のライブラリからのものです。したがって、このライブラリのコードをたどる前に、Code1 と Code2 の違いを知っておく必要があると思います。
ありがとう。