2006/12/1(Fri) 06:51:14|NO.3893
>七次元さん
>自分が質問したときに解決策は出なかったのでpoke前から計算で求めるしかないようです。
それは解決策があると言えるのではないでしょうか?
少なくとも、sdimで明示的にバッファを確保すれば初期バッファサイズは分かりますし、
memexpandで拡張する時も、現時点のバッファサイズに拡張分のサイズを足せば拡張後のバッファサイズも分かります。
書き込むたびに有効なバイナリデータの位置をカウントすれば、おのずとバイナリデータのサイズも分かります。
# というか、HSPは自己が管理するバッファサイズは把握しているが、
# プログラムが利用するバイナリデータのサイズには関与できないのでは?
# バッファサイズとバイナリデータのサイズは必ずしも一致しないので。
というより、pokeなどで書き込む前にバッファサイズが分かっていないと、プログラマ側でバッファオーバーフローを回避できないと思います。
ですから、
>pokeなどで書き込んだバイナリデータのサイズを読み取る方法
書き込んだ後にバイナリデータのサイズを取得しても遅いと思います。
よって最善の方法は自己管理だと思います。
# GENKIさんの書き込みは解決に繋がらなかったのかな...。
|