タイマーについて

解決


みけ  2008-06-06 12:16:00  No: 139845  IP: 192.*.*.*

環境はXP、VB6です。
イメージをコントロール配列にして、タイマーによって1秒間隔で
フォーム内にイメージを表示させ、位置を変える処理を作っています。
タイマーの処理は
img(Index).Top = img(Index).Top + 250
としているのですが、配列の要素が増えてindexが変わってしまうと
その前に表示されたイメージの動きが止まってしまいます。
各イメージはフォームの一番上から下へ落としたいです。
文章で説明するのが難しいのですが、改善策があればよろしくお願いします。

編集 削除
やじゅ  2008-06-06 12:55:54  No: 139846  IP: 192.*.*.*

どのタイミングで配列の要素が増えるんですか?
配列の要素が確定してからタイマーで動かすとか

アルゴリズムが変なのは確か、ソースコードが提示
されてない以上、自分で値を追って解決するしかないかな。

編集 削除
みけ  2008-06-06 14:00:54  No: 139847  IP: 192.*.*.*

フォーム内にタイマーは2つあり、1つは1秒おきにイメージを
表示させるもの、もう1つは表示したイメージを0.5秒おきに下へ
移動させるものです。

3秒経てばフォーム内には3つのイメージが表示されており、その
3つを同じように下へ移動させたいんです。

編集 削除
QUE  2008-06-09 09:59:50  No: 139848  IP: 192.*.*.*

For i = img.LBound To img.LBound
        img(i).Top = img(i).Top + 250
    Next
とか。

編集 削除
みけ  2008-06-09 15:29:53  No: 139849  IP: 192.*.*.*

>QUE さん
遅くなりました。
LBound は使わなかったんですが、似たような感じで
ループ回してできました。
ソースコードもおとさずに質問してしまってすみません。

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

編集 削除