• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:構造体をランダムファイルに書き込みたいのですが)

構造体をランダムファイルに書き込む処理でエラーが発生する

このQ&Aのポイント
  • 構造体をランダムファイルに書き込む処理を作成していますが、FilePutを実行すると「レコード長が正しくありません」というエラーが発生します。初回登録時には問題ないのですが、何が原因なのでしょうか?VBを使用しています。
  • 私は.NETで構造体をランダムファイルに書き込む処理を作成していますが、FilePutを実行すると「レコード長が正しくありません」というエラーが表示されます。初回登録時には問題ありませんが、どうすれば解決できるでしょうか?VBを使用しています。
  • 構造体をランダムファイルに書き込む処理を作成しているのですが、FilePutを実行すると「レコード長が正しくありません」というエラーメッセージが表示されます。初回登録時には問題ありませんが、なぜエラーが発生するのでしょうか?VBを使用しています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

構造体の構成に配列要素がある場合は、構造体の宣言で長さをあらかじめ宣言しなければなりません。 Public Structure aaa   Public aa As DateTime   <VBFixedArray(100)> Public bb() As Int16   Public Sub Init()     ReDim bb(100)   End Sub End Structure

okada0504
質問者

お礼

ありがとうございます。 文字列の場合、VBFlexedをつけるのは頭にあったのですが、 配列の場合にも必要とは。 考えれば、可変長をサポートするためのものであるのだから、配列でも必要ですよね。 ありがとうございました。

その他の回答 (1)

回答No.2

>ファイル登録時に >FileOpen(iFileNo, sFileName, OpenMode.Random, , , len(wData)) >FileOut(iFileNo, wData, iRecord) >上記のFilePutを実行した時点で、 FileOut になっていますが? FileGet や wData への書き込みはどこでしているのですか? VB6.0 でも書き込みは、Get 、Put していたはずですが。

okada0504
質問者

補足

回答ありがとうございます。 FileOut=>FikePut すみません。間違いです。

関連するQ&A