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

投稿日: 2004/05/24(Mon) 16:50
投稿者フレ
URL
タイトルRe^2: イベント処理中に違うイベントの処理を行う方法

こんにちは、フレです。
よろずやさん回答ありがとうございます。

> > ActiveX EXE を使って
> > スレッドモデルを「オブジェクトごとのスレッド」にすれば
> > ループの処理をそれぞれ別のスレッドで行うように実装できないかなぁ?とも
> > 考えたのですが、標準EXEのフォーム等から
> > ActiveX EXE のクラスのメソッドを呼び出した場合、
> > 5秒以内にメソッドが終了しないと
> > フォームをクリックした契機で
> > 「コンポーネントが使用できません。」といった
> > ダイアログが表示されてしまいます。
>
> マルチスレッドとして動作するようにActiveX.Exeを作れば
> ちゃんと動くはずですよ。
> ActiveX内にタイマーを仕掛け、外から呼ばれたときはタイマーを起動して
> すぐに呼び出し元に戻る。
> 直後に、ActiveX内でメソッドが動き始める。
> メソッド終了前にメイン画面をクリックしても、問題ありません。
>
「ActiveX内にタイマーを仕掛け、外から呼ばれたときはタイマーを起動する」っていうのは
以前思いつきましたが、裏技っぽいのでちょっと敬遠していたのですが
るしぇさんからご指摘いただいてVBのヘルプを参照してみると
VBのヘルプにも普通に載っているんですね〜。

ActiveX Exeをぜんぜん使っていないので検証しつつ
教えていただいた方法で実装を検討したいと思います。

以上です。
教えていただいてありがとうございました。


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

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

- Web Forum -