Visual Basicでツリービューリストの項目数を増やすには?

解決済みの質問

Visual Basicでツリービューリストの項目数を増やすには?

VB4でツリービューコントロールを使ってリストを作成するとある程度以上のノード数になるとindex errorになります。
正確には数えていませんが、感覚的に200行ぐらいです。

この制限を外す方法はありませんか?

よろしくお願いします。

投稿日時 - 2002-03-19 00:05:41

QNo.237585

困ってます

質問者が選んだベストアンサー

そうですか・・・・
元ソースの抜粋をチョット改造してあったのですね。

しかしVersionが古くとも一緒です。

エクスプローラはTreeViewを使用しています。Win95のエクスプローラと言えども、200個以上のフォルダは閲覧できないなんて制限はありませんよね。それと一緒のはずなのですが・・・

現在公開してもらったサンプルソースでも200行ぐらいでエラーが起こるのですか?コード的には合ってるように見えます。
もしかしたら読み込んでるデータに不具合があるとか?

実際のエラーメッセージを正確に教えてもらえると、ちょっと参考になるかも?

投稿日時 - 2002-03-20 17:02:47

お礼

ありがとうございました。
諦めずにがんばってみます。

投稿日時 - 2002-03-21 09:04:46

ANo.3

1人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(2件中 1~2件目)

ANo.2

親となる"%"で始まる文字列のIndex値を、変数Jにて一時記憶している処理ですよね?

親となるNodeは[tree1]に追加されていて、子となるNodeは[tree2]に追加されています。

同じTreeView内でないと、親子の関係が結べないのではないのでしょうか?

投稿日時 - 2002-03-20 09:36:52

補足

ご回答ありがとうございます。

すみません。元のツリーの名前が結構恥ずかしかったので一般的な名前に置き換えたのですが、その時に間違えたようです。両方ともtree1だと考えてください。

お手数ですが、もう一度診ていただけませんでしょうか。

OSはwin95でVB4です。古くてすみません。

投稿日時 - 2002-03-20 14:25:18

ANo.1

きちんと実験をしてませんが・・・
こちらの環境では問題なく20000件以上の登録ができました。
OS :WIN2KSP2
TOOL:VB6SP5

200行の制限なんてありませんよ。
コードに問題があると思われます。

Nodeを追加している付近のコードを公開できませんか?

投稿日時 - 2002-03-19 09:19:26

補足

早速のコメントありがとうございます。
ご診断よろしくお願いします。

"test.ini"というファイルから1行ずつ読み込んで
先頭文字が"%"なら親ノードとして以降の文字列を登録、それ以外なら
その子ノードとして全部の文字列を登録、というつもりで作りました。

150行ぐらいのファイルならOKですが、200行ぐらいでエラーです。
「実行時エラー35600 インデックスが指定可能範囲をこえています」と
出ます。

よろしくお願いします。

Private Sub Form_Load()
Dim s As String
Dim nd As Node
Dim i, j As Integer

i = 0
j = 0
Open "test.ini" For Input As #1
Do
If EOF(1) Then Exit Do
Line Input #1, s
i = i + 1
If Left$(s, 1) = "%" Then
Set nd = tree1.Nodes.Add(, , , Right$(s, Len(s) - 1), 0)
j = i
Else
Set nd = tree2.Nodes.Add(j, tvwChild, , s, 0)
End If
Loop
Close #1

End Sub

投稿日時 - 2002-03-19 23:24:01

あわせてチェックしたい
  • Visual Basic リスト印刷 ...
  • Visual Basic ...
  • VB.NETとVisual Basic 2005 ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら