ActiveX DLLでのリアルタイム情報取得


takeshik  2004-04-22 06:56:41  No: 83092  IP: [192.*.*.*]

現在、 複数の作業からなる関数を実装したDLLを開発中なのですが、
リアルタイムに状況を表示したいのです。
Timer イベントで、DLL内のPublic変数を表示しようかとも思いましたが、
負担がかかりそうなので、 ステータスを表示するオブジェクトの、 テキストの
内容を決定するプロパティへのポインタを代入したObject型変数に代入し、
それにステータスを流し込もうとしましたが、
 ・ オブジェクトによって、テキストの内容を決定するプロパティの名前が
   まちまちである
 ・ 汎用性が無くなる(COMに対応した言語なら、できるだけ動作させたい)

負担もかからず、 汎用性のある方法をご存知の方が居りましたら、
ぜひご教授願います。 よろしくお願いします。

編集    削除
魔界の仮面弁士  2004-04-22 09:18:23  No: 83093  IP: [192.*.*.*]

状況をイベントとして通知するとか…。

編集    削除
ねろ  2004-04-22 17:44:16  No: 83094  IP: [192.*.*.*]

呼び出し側のVBのウィンドウハンドルを、DLLの関数呼び出しの時に
渡して、DLLからSendMessageでVBに状態やデーターを返すとか....。

編集    削除
いちゆ  2004-04-23 01:25:19  No: 83095  IP: [192.*.*.*]

リアルタイムという点から、負荷がかからない処理があるのなら私が知りたいのだ…が?

編集    削除
魔界の仮面弁士  2004-04-23 01:59:13  No: 83096  IP: [192.*.*.*]

ActiveX DLL(インプロセス)ではなく、ActiveX EXE(アウトプロセス)でも
良いのであれば、VB6版MSDNライブラリに付属しているサンプルの
Coffee2.vbp プロジェクトを参考にしてみるとか。
(イベント通知による、非同期実行制御のサンプルです)

編集    削除