したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

VB2005でDelay(Wait)タイマーを作るには

1こじら:2010/03/15(月) 22:29:04
こんばんは。RS232Cではお世話になりました。おかげ様で送受信
できるようになりました。ありがとうございました。
 次に起こった問題なんですが、現在のRS232Cの通信はTX,RX端子のみ
でおこなっているので、PCからの送信時、相手のバッファオーバーフロー
が分かりません。
 しかし、バッファサイズは分かっているので、それを見越した
送信データ数とWaitタイマーで現在はしのいでみようと考えて
います。しかし、VB6の時のようにタイマーがうまく動きません。
Form_Load
Timer1.Interval = 1000
Timer1.Enable = False
:
:
Loadのエンド

Dim Acount as integer
Dim TimerCount as integer

:
送信処理
ACount = 2

For i as integer=0 To X
送信関数(data(i)) 'data配列に送信したいデータを設定
TimerCount = 0
Timer1.Enable =True
Do while Acount>TimerCount
(空)
Loop

Timer1.Enable =False

Next



Private Sub Timer_Tick 〜
 TimerCount = TimerCount+1
end Sub


というようにしているのですが、Do While文で帰ってこなくなります
処理がないことがだめなのかと、この文の中に仮演算 a=a+TimerCountとしても
かえってこなくなりました。
ちなみに、VB6の時につかっていたプログラムで動いていたのですが
正しい書き方かどうか知らず動いたので使っていました。

ネットとかで調べると、VB2005などではマルチタスク処理にすべき
とありましたが、Waitをどのように改造すればよいのでしょうか。

題目とことなるのですが、ICのレジスタアクセスを行うのに
Classプロパティを使用すると良い(質問14)と以前アドバイス頂いた
のですが、例えば512アドレス(レジスタ)あれば、512個のプロパティー
を作る必要があるのでしょうか?

1つのプロパティーを何とか512個のインスタンス化処理みたいな
ことでうまくできないでしょうか。
 プロパティーの中身を替えた時など、全てのプロパティー記述
を直すのが一苦労なので、なにかうまい方法あれば教えていただけ
ないでしょうか

よろしくお願いします

2igoten:2010/03/16(火) 10:52:53
プログラムの構成が良いか悪いかは提示されたコードが
部分的なので判りませんが、Do while Acountに関しては
このループの中に
Application.DoEvents()
を入れて見て下さい。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板