C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

redimで正常に配列が作成できない


(過去ログ 8 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■7901 / inTopicNo.1)  redimで正常に配列が作成できない
  
□投稿者/ まき 二等兵(3回)-(2006/10/30(Mon) 12:17:55)

分類:[VB6以前] 


分類:[VB6以前] 

またまた失礼します。

VB6(SP6) WindowsXP にて、現在次のようなプログラムを組んでいます。

Public DATA1() As String
Public P1 As Integer

Sub Main()
P1 = 4  ←注1
ReDim DATA1(P1) As String
Call Test1
End Sub

Sub Test1()
Dim I as Integer
Dim Moji As String

Moji = "aaaa"

For I = 0 To P1
DATA1(I) = Moji  ←注2
Next
End Sub

この様にコーディングして実行したら問題なく実行しました。

次に、注1のP1を「P1 = 7」とし、配列数を増やしました。
そうすると、注2の箇所で「インデックスが有効範囲にありません。」という
エラーが出ました。
ここの箇所にブレイクポイントを設定して確認すると、配列が4だけ定義されていました。

そこで、注1のP1を「P1 = 4」に戻すと、問題なく実行しました。

なぜこの様な現象が起こるのでしょうか???
ご存知の方、ご教授お願いします。


0
引用返信 編集キー/
■7903 / inTopicNo.2)  Re[1]: redimで正常に配列が作成できない
□投稿者/ まどか 中将(275回)-(2006/10/30(Mon) 14:22:14)

分類:[VB6以前] 

問題無く動作しました。

というわけで、スコープの問題と思われますので
書かれたソースがそれぞれどこに書かれているかを書いてください。
・Sub Main → Module1
とか。


0
引用返信 編集キー/
■7987 / inTopicNo.3)  Re[2]: redimで正常に配列が作成できない
□投稿者/ まき 二等兵(4回)-(2006/11/01(Wed) 13:39:24)

分類:[VB6以前] 

返事が送れてすいませんでした。本業務から少々離れておりまして。

問題の件、自己解決しました。

原因は、プロジェクト内のぜんぜん違う場所で配列数を超えるデータを
代入しているところがあり、そこがいたずらしていました。

たぶん、メモリマップ上ではみ出した部分が重なったのだと思います。

ありがとうございました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -