[PPC} シリアル情報を受信する

シリアル受信クラスはこんなかんじ

  1. Microsoft.WindowsCE.Forms.MessageWindow を継承する
  2. スレッドを実行する
    1. シリアルポートを開く
    2. ClearCommError でバッファ受信数を得る
    3. 受信数が0より大きいならデータを受け取り加工する
    4. 加工データが出来上がったらウィンドウメッセージを出す
    5. ClearCommError に戻る
  3. WndProcをオーバライドする
    1. スレッドから「加工データが出来上がった」ウィンドウメッセージを受信したら、RaiseEvent を出す
    2. その他のメッセージは親クラスにまわす

ここでのポイントは、マネージドなスレッドからイベントを出して、そのイベント内でコントロールの値を書き換えるとロックが発生すること。それを回避するために、ウィンドウメッセージに回しています。

フォームをモーダルであげるとやはりロックするので注意。