VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2003/01/31(Fri) 15:36
投稿者ゆうや
Eメールcurren62036@yahoo.co.jp
URL
タイトルRe: OnComm イベントについて

こんにちは。初めてお返事させていただきます。
Win98SecondEdition で VB6.0SP5 を使っています。

私もCommコントロール使ってツールを作ったりしていますよ。難しいですよね。
合っているかわかりませんが、経験からコメントさせて頂こうと思います。参考にしてください。

> ・・・OnComm イベントを
> 使っても、通信イベント(データ受信)がトラップされません。
> ただ、CommEvent プロパティにはデータ受信完了になっています。
> (この状態で、INPUTプロパティを利用してデータを取り込むと、
> 問題なく通信データは読み込めます)
Inputプロパティにデータが入っているということは受け取れているんですねぇ。送られてくるデータサ
イズとRThresholdプロパティの値は合っているでしょうか?ずれているとイベントが起きません。
あと、受信されるまでに、実は他の通信イベントが来ていた通信エラーが起きていた、なんてことはな
いでしょうか??

> また、シリアル通信を開始しすると、全てのイベント(例えば、コマンドボタンさえ
> 押せなくなります)がトラップされなくなり、プログラムが応答していないので、
> 強制終了になってしまいます。(ただ、この間もOnComm イベントは上手くトラップ
> されませんが、シリアルポートからデータの送受信はできており、データはコン
> ピュータ上に取り込まれて、画面上では逐次表示されております)
多分、受信完了待ちとか、通信している部分(関数とか)を無限ループで組まれているのでしょうか?
Do Until 受信完了
    ・・
    DoEvents
    ・・
Loop
のように、DoEventsっていうのを入れないと、Windowsの制御がそのLoop文に占有されて何もできなくな
ってしまいます。詳しくは他の参考書などで「DoEvents」を見てみてください。

あと、私が参考にした(なった)ホームページをご紹介します。よかったら参考までに。
「SPECTRUM電子工作ページ」さん
http://members.tripod.co.jp/spectrum123/index.htm

根本的な解決にはなっていないかもしれませんが、参考にしてみてください。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -