動的2次元配列を宣言するには?


アトラス  2007-09-04 20:06:37  No: 137323

VB6.0で動的の2次元配列を宣言することは出来ないのでしょうか?

過去ログによると、結局構造体で回避しておりますが。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200511/05110055.txt

---------------

Dim myArray()

(中略)

ReDim Preserve myArray(3, 3) As Variant

ためしに上記で行ってみたのですが、
うまくいきませんでした。

やはり無理でしょうか?


魔界の仮面弁士  2007-09-04 20:38:42  No: 137324

> ためしに上記で行ってみたのですが、
> うまくいきませんでした。

ん? それで特に問題なく動作するかと思いますけれども。

もし、そのコードでうまくいかないとすれば、最初の Dim myArray() に
As 句がないため、myArray が「既定のデータ型」になっていますから、
既定のデータ型(標準では Variant)を変更していた場合においては、
    コンパイル エラー:
    配列要素のデータ型を変更することはできません。
が発生するでしょうけれども……そういうことではないのですよね?

Private Sub Form_Load()
  Dim myArray() As Variant
  ReDim Preserve myArray(3, 3) As Variant

  myArray(0, 0) = "abc"
  myArray(0, 1) = 123
  myArray(0, 2) = Now
  myArray(0, 3) = 1.23!
End Sub


かさのば  2007-09-07 08:14:24  No: 137325

(中略)で何をしてるのかちょっと気になりますが、おそらく1次元目を動的に増やしたりしたいんじゃないかな?と予想してみます。

もしそうであればこの辺とか参考になると思います。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200412/04120122.txt

> うまくいきませんでした。
これだけでは何がどううまくいかなかったのか判別できませんので
エラーが出たならエラー内容をコピペするなどしてください。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加