- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:構造体をランダムファイルに書き込みたいのですが)
構造体をランダムファイルに書き込む処理でエラーが発生する
このQ&Aのポイント
- 構造体をランダムファイルに書き込む処理を作成していますが、FilePutを実行すると「レコード長が正しくありません」というエラーが発生します。初回登録時には問題ないのですが、何が原因なのでしょうか?VBを使用しています。
- 私は.NETで構造体をランダムファイルに書き込む処理を作成していますが、FilePutを実行すると「レコード長が正しくありません」というエラーが表示されます。初回登録時には問題ありませんが、どうすれば解決できるでしょうか?VBを使用しています。
- 構造体をランダムファイルに書き込む処理を作成しているのですが、FilePutを実行すると「レコード長が正しくありません」というエラーメッセージが表示されます。初回登録時には問題ありませんが、なぜエラーが発生するのでしょうか?VBを使用しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
構造体の構成に配列要素がある場合は、構造体の宣言で長さをあらかじめ宣言しなければなりません。 Public Structure aaa Public aa As DateTime <VBFixedArray(100)> Public bb() As Int16 Public Sub Init() ReDim bb(100) End Sub End Structure
その他の回答 (1)
- vbhanatyan
- ベストアンサー率79% (70/88)
回答No.2
>ファイル登録時に >FileOpen(iFileNo, sFileName, OpenMode.Random, , , len(wData)) >FileOut(iFileNo, wData, iRecord) >上記のFilePutを実行した時点で、 FileOut になっていますが? FileGet や wData への書き込みはどこでしているのですか? VB6.0 でも書き込みは、Get 、Put していたはずですが。
質問者
補足
回答ありがとうございます。 FileOut=>FikePut すみません。間違いです。
お礼
ありがとうございます。 文字列の場合、VBFlexedをつけるのは頭にあったのですが、 配列の場合にも必要とは。 考えれば、可変長をサポートするためのものであるのだから、配列でも必要ですよね。 ありがとうございました。