>>453
WString型は引数として関数に渡すことは出来るけど
WString型の戻り値はPtrでしか返せないのだから必須だと思うよ
もしそれをやらないで関数から返そうとすると文字列を文字コードに変換して
String型で返して、関数呼び出し元でそれを文字列に変換しながら1文字ずつ
表示するってことになるわ

AllocateしたものをDeallocateで解放するっての基本中の基本だよ
例えば君の>>447のコードを1万回繰り返す 簡 単 な コードを作ったとするよ
Expand関数の呼び出しがコード内に4個あるから、メモリ上に最大4万個の割り当て領域が
生成されて、実行が終了するまで占有してしまう
これがただ単に1回実験的に実行するだけならいいとしても(今回のようにね)
長く実行するようなソフトであったら、メモリリークしまくることになる

マニュアルにも書いてあるけど割り当てたものは解放するべきであって
ポインタの使い方が手法として適切かどうかの話じゃない
ポインタを全くわかっていないなら、メモリの割り当てと開放はセットであることを
覚えておくべきってことを言いたいの
分かっててやっていると捉えていたら、そんなことを指摘したりはしないよ