[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/03/22(Wed) 14:46
投稿者名:Ken
Eメール:
URL :
タイトル:
配列に関するエラー
いつも参考にさせてもらっています。
構造体の配列の要素数を再定義しようとするとき
以下のようなエラーがたまに発生します。
「エラー番号:10
 内容:この配列は固定されているか、または一時的にロックされています。」
このエラーの内容がわからずどのようにしたらよいのかわかりません。
よろしくお願いいたします。

投稿時間:2006/03/22(Wed) 16:41
投稿者名:matsu
Eメール:
URL :
タイトル:
Re: 配列に関するエラー
> いつも参考にさせてもらっています。
> 構造体の配列の要素数を再定義しようとするとき
> 以下のようなエラーがたまに発生します。
> 「エラー番号:10
>  内容:この配列は固定されているか、または一時的にロックされています。」
> このエラーの内容がわからずどのようにしたらよいのかわかりません。
> よろしくお願いいたします。

例えば、Withで配列を指定していたり、引数に使用(参照渡し)していたりすると
発生します。

投稿時間:2006/03/22(Wed) 17:29
投稿者名:Ken
Eメール:
URL :
タイトル:
Re^2: 配列に関するエラー
解答ありがとうございます。

> 例えば、Withで配列を指定していたり、引数に使用(参照渡し)していたりすると
> 発生します。

引数には、使用していません。
Withを使用しての配列の指定もしておりません。
現在指定しているのは以下のように行っています。

Type udtCommData
    blnFlg          As Boolean          
    intRs           As CommResult      
    intTc           As Integer          
    intRm           As Integer          
    bytSdData()     As Byte            
    bytRcData()     As Byte            
End Type

Type udtComm
    Comm()          As udtCommData
    intCt           As Integer
    intRecvSize     As Integer
End Type

Public wwComm As udtComm
------------------------------------------------------------------
Public Sub subCommInkPreset()

    wwComm.intCt = 1
    ReDim wwComm.Comm(1)

    (処理)

End Sub

投稿時間:2006/03/22(Wed) 18:49
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: 配列に関するエラー
投稿されたコード以外のところで何か使用していませんか?
投稿されたコードだけではエラーは発生しませんよね。
MSDNの Error 10 の解説に載っているような事をどこかでしていませんか?
今一度、MSDN で確認して見ては。

投稿時間:2006/03/23(Thu) 09:06
投稿者名:Ken
Eメール:
URL :
タイトル:
Re^4: 配列に関するエラー
> 投稿されたコード以外のところで何か使用していませんか?
> 投稿されたコードだけではエラーは発生しませんよね。
> MSDNの Error 10 の解説に載っているような事をどこかでしていませんか?
> 今一度、MSDN で確認して見ては。

MSDNに載っているようなことはしていません。領域の再割り当てを行って
いるのは投稿したコードのときのみですし、引数としてもわたしておりません。

ただ、いろいろ調べているとWithステートメント内でExit Sub等を行うとでる可能性があるというのを
見つけました。実際、別のところでWithステートメントを使用していて途中でExit Subを行っている
個所があるのでそれが原因かとも思ってもいます。

あと、クラスにすればとありますが実際作成したことがないためどのようにしたらよいのでしょうか?

投稿時間:2006/03/22(Wed) 20:16
投稿者名:K.J.K.
Eメール:akiya@koalanet.ne.jp
URL :
タイトル:
Re^3: 配列に関するエラー
> Withを使用しての配列の指定もしておりません。

可変長配列を含むユーザ定義型をネストさせた場合でも起きますよね。

で、ユーザ定義型で持たせる必要はあるのでしょうか。
こういうときこそ、クラスモジュールを使ってみるとか。