タイトル : ZeroMemoryによる構造体配列の初期化について 投稿日 : 2010/12/02(Thu) 13:50 投稿者 : ミルミ
はじめまして。 ミルミと申します。 VB6構造体の初期化をWin32APIのZeroMemory関数で行っています。 関数の第二引数(構造体の大きさ)にはLen(構造体名)を渡しています。 いま、要素数が可変(Redim Preserve 配列名(n)nは整数)の文字列配列 を複数個持つ構造体配列を使っているのですが、この構造体にデータを入れる前 (Redimを一度も行っていない場合)と値を入れたあと(たとえばUbound(配列名)の 値が120のとき)で、上記Len(構造体名)のサイズが同じままになっています。 ZeroMemory関数は構造体配列の初期化に使えますでしょうか。 エラーは発生しないのですが、使い方をまちがえていますでしょうか。 インデックスだけ初期化して値はメモリに残留していても差し支えありませんか。 個々の文字列配列を要素数だけ先に0クリアしてから構造体を0クリアすべきでしょうか。 構造体内の配列にはZeroMemoryを使わずにRedim 配列名(0) や Erase 配列名 でクリアしたほうがよいでしょうか。 よろしくお願いします。 |