あいかわらず仕事がヒマなので、守備範囲を広げるべくお勉強。
とりあえずVCでシリアル通信のプログラム(コンソールアプリ)を作成。
シリアル通信はググればライブラリがいくらでもころがってるけど、
勉強のためWin32API (CreateFile, CloseHandle, ReadFile, WriteFile) を使って自作。
その後、ActiveXコントロールにしてVBで使えるようにした。
【ActiveXコントロールの作り方メモ】
・VBからActiveXコントロールの呼び出し
ActiveXコントロールのプロジェクトの[ClassView]で[メソッドの追加]
インターフェースを定義し、ActiveXコントロール側で関数を実装、VB側で呼び出し
・ActiveXコントロールからVBの呼び出し
ActiveXコントロールのプロジェクトの[ClassView]で[イベントの追加]
インターフェースを定義し、VB側でサブルーチンを実装、ActiveXコントロール側で呼び出し
(呼び出しはFire+サブルーチン名)
シリアル通信をバックグラウンドで処理するためワーカスレッドを使用。
ワーカスレッドからのメッセージをハンドルするために隠しウインドウを作るのが定石。