掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
シリアル通信の受信は? (ID:145638)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
すでにFAQかも知れませんが、マルチスレッド、デリゲート(Delegate)、Invoke といったあたりが よく理解できず、質問させていただきます。 これまでVB6.0で作成していたアプリをVB2008に移植しようとしています。VB2008のDataReceived イベントが別スレッドで発生するため、スレッドセーフになるような工夫が必要なことは判りました。 MSDNの下記サンプルを見つけて睨んでいるのですが、サンプルをどう直したらよいかが判りません。 http://msdn.microsoft.com/ja-jp/library/cc720852.aspx 私の使用環境では、外部からの受信データは「連続する2Bytesのバイナリデータ」です。デリミタは ありません。 2Byte受信したところでイベントが発生するように ReceivedBytesThresholdはデザイン画面のプロパティ で"2"に設定しました。その他の通信条件も同様にプロパティで設定しました。 2Bytesのデータを受信したところで、その値をメインフォーム側に渡し、内容をチェックし、最終的な データを組み立て、ラベルに表示させたいと思っています。 また、DataReceivedイベント内で受信エラーが発生した場合にはエラーメッセージが引き渡される ことが必要です(MessageBoxで表示)。 上記のサンプルでは、外部からのデータが「デリミタを持つ文字列」が想定されています。そのため、 受信文字列とエラーメッセージを同じ"strDataReceived"という文字列で受け渡しができています。 バイトデータと文字列の両方をうまく引き継ぐにはどのような記述にすればよろしいのでしょうか。 何かヒントでもいただければありがたいです。よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.