| 亀レスですみません。 魔界の仮面弁士さん、shuさんご協力ありがとうございます。
>場合によっては、データ全体を Stream あるいは StringBuilder で管理しておき、 >切り出す位置をコレクション等で管理しておく運用など、別の手法を模索したほうが >良いかもしれません。無理に旧VBの実装手法に追従させる必要は無いかと。
確かにそのとおりだと思います。 あまりソースを改変しないことを目的にやるとしたらというところで検討していました。 StringBuilderがいいのかもしれないので、今後念頭に入れたいと思います。 今はもう少し、この手法で調査・試行錯誤してみたいと思っています。
上記の魔界の仮面弁士さんの例を試したところうまくいったのですが、 肝心なことを記述してませんでした。すみません。
全角文字も混在するので、上記の例では Marshal.StructureToPtr(a, pBin, False) で、「埋め込まれた配列インスタンスがレイアウトで宣言された長さと一致しないため、型をマーシャリングできませんでした。」 とエラーになりました。
ここまでで思ったのが、VB6.0からのソースにとらわれずに StringBuilderでやるしか方法がないのでしょうか。
|