- - PR -
ActiveX.exeについて
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-05-13 00:19
いつもお世話になっております。
掲題の件についてどなたかご教示お願い致します。 VB6でActiveX.exeを作成し、Aモジュール、Bモジュールから 呼び出した場合に別プロセスにすることはできないのでしょうか? VCのActiveX.exeだと出来たのですが・・・ 以上、よろしくお願いいたします。 | ||||
|
投稿日時: 2006-05-13 00:57
どうやって確認されたのでしょうか? ActiveX DLL の場合はインプロセスなのでともかく、 ActiveX EXE なら普通に別プロセスのハズです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-05-13 18:31
じゃんぬねっとさん回答ありがとうございます。 確認は、タスクマネージャーのプロセスで確認を行いました。 ActiveX EXEのプロセス1つに対してたぶんアタッチしているので そのEXEが強制終了などしてしまうと、Aモジュール、Bモジュール共に COMの例外を起こしてしまいます。 VCで作成した場合は、ウィザードで作成されたソースを少し変更しないと いけませんが、別プロセスにできるのでAモジュールによって、ActiveX EXEが 例外で落ちた場合でもBモジュールには影響が出ません。 以上、よろしくお願いいたします。 | ||||
|
投稿日時: 2006-05-13 19:01
プロセスが1つしかないのであれば、まずVBプロジェクトを見てクラスがMultiUseになっているかを確認でしょうね。 | ||||
|
投稿日時: 2006-05-15 09:00
まどかさんご回答ありがとうございます。 クラスの設定はMultiUseになっています。 基本的にActiveX EXEを作成したときに、意図的に変えなければ、MutltiUseだと 思うのですが・・・・ 他に気になる箇所はないでしょうか? 以上、宜しくお願い致します。 | ||||
|
投稿日時: 2006-05-15 09:05
例外の発生している箇所にもよりますが、まずは複数のインスタンスを作成するだけにしてどうなるか。
VCとVBで出来上がるものが異なりそれが原因だったら私はわかりません。 ところでAモジュール、Bモジュールって何? またどのようにインスタンスを作成しているのでしょうか? [ メッセージ編集済み 編集者: まどか 編集日時 2006-05-15 09:06 ] | ||||
|
投稿日時: 2006-05-15 09:32
だからじゃ無いのか?レファレンスを見ると、「MutltiUse=複数のクライアントでひとつのインスタンスを共有。SingleUse=クライアントごとにインスタンスを生成。」と読めるのだけど。SingleUseにしても駄目ですかね? | ||||
|
投稿日時: 2006-05-15 09:53
まどかさん、甕星さん回答ありがとうございます。 まどかさん> Aモジュール、Bモジュールは作成したActiveX.EXEを呼び出す テストドライバです。 インスタンス生成は、どちらも(A、B共)単純に参照設定で ActiveX.EXEを参照し、オブジェクト宣言後にNewをしている だけになります。 甕星さん> SingleUseの設定でうまくいきました。この設定でオブジェクト生成時に 別々のプロセスで起動するようになりました。 ありがとうございました。 |