ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

REALbasicコミュのモジュールについて

  • mixiチェック
  • このエントリーをはてなブックマークに追加
初めて書き込みさせていただきます。大学生のつょっちゃんと申します。REALbasic2007r4をつかって研究をしております。

早速ですが質問です。

作成したモジュールにListboxを配列化したプロパティを定義し、その配列化したListboxの1つに新規要素を追加するプログラムを書いてます。

しかし、
『モジュール名.リストボックスプロパティ(0).Addrow("新規項目")』
というコードをかいても配列0番目のListboxに『新規項目』というTextが追加されません。

上記のような問題が発生した場合はどのようにしたらそれが解消されるか助力をお願いいたします。

長文失礼いたしました。

コメント(6)

ListBoxの先頭に追加する場合はAddRowではなくてInsertRowを使います。
コメントありがとうございます。

早速試してみます。ありがとうございましたm(_ _)m
>モジュール名.リストボックスプロパティ(0)
には何が入っているのでしょうか?

ウインドウ上に存在するListBoxが入っていれば
正しく動作するように思います。

Module1.ListBoxArray(0) = Window1.ListBox1
Module1.ListBoxArray(0).AddRow "新規項目"
>ゆきさん
書き込みありがとうございます。参考にさせていただきます。

モジュール名.リストボックス(0)ですが上記の状態では前の行でインスタンスしただけなので何も入ってません。

最終的にウインドウ上にリストボックスは確認をするだけで配列のリストボックスと同期させないようにしたいと思います。
ListBoxを含むControlクラスのサブクラスは全て、
実際にWindow上に配置されなくては機能しません。

例えば↓はダメです
Dim L as ListBox
L = New ListBox
L.AddRow "NewItem"

画面表示しないのであれば配列/連想配列や自作のクラスを使うのが
一般的かと思います。

どうしてもListBoxにしたい場合は、メインのウインドウに
リストボックスを配置し、プロパティで
 Name = MyListBox //例
 Visible = False
 Index = 0
として、コードからは例えば
 For I = 0 to 9
  Module1.ListArray(I) = New MyListBox() //ListBoxではなく
 Next
とすると動的に配列化できます。(多分)

「コントロール配列」で検索すれば何かしら出てくると思うので
調べてみるとよいかもしれません。

>ゆきさん
ありがとうございます。コントロールの使い方いまいち把握しきれてませんでしたf^_^;

アドバイス通りにしたらちゃんと動的に配列化出来ました。

おかげで研究が進みそうです。

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

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

REALbasic 更新情報

REALbasicのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。