問題タブ [com-server]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
112 参照

.net - .NET 相互運用で使用する COM サーバーを指定する方法は?

COM サーバーを使用する .NET アプリケーションがあります。COM サーバーは、それを実行するマシンに登録されているため、コードがnew MyInterop.SomeObject()適切な場所に到達すると、COM サーバーがMyComServer.exe開始されます。

MyComServer.exeただし、デバッグしていると、さまざまな構成ファイルを持つさまざまなフォルダーに存在する のコピーがいくつかあります。どのアプリをロードするかを指定したいと思います。

私が知っている2つの回避策は次のとおりです。

  • 使用前に毎回(MyComServer.exe /regserver)再登録できます。しかし、ローカルの問題にグローバルなソリューションを使用するのは好きではありません。
  • 手動で開始するMyComServer.exeと (その後、スタンドアロン アプリとして実行されます)、COM インフラストラクチャはこの既存のプロセスを再利用します。しかし、それはあまり自動化できません。

もっと適切なものはありますか?

0 投票する
1 に答える
232 参照

matlab - MATLAB相互運用サーバー(自動化サーバー)はランタイムライブラリで利用できますか?

MATLABパッケージ全体(ただしランタイムライブラリのみ)をインストールせずにMATLAB COMサーバー(自動化サーバー)を使用できるかどうかを調べようとしています。

0 投票する
1 に答える
2384 参照

python - PythonCOMサーバーが'module'オブジェクトに属性'VARIANT'をスローしません

Pythonで実装されたCOMサーバーは次のとおりです。

正常に登録されます。実行すると、本番マシンでは次のことが発生しますが、開発ボックスでは発生しません。

comtypes0.6.2をインストールしました。Python2.6.6の実行

0 投票する
1 に答える
1861 参照

com - COMサーバーをWixに登録する

COMサーバーコンポーネントを登録する次のWiXコードがあります

そして、サーバーは正常に登録されますが、プログラムを「実行」モードで実行すると、プログラムはCOMサーバーを認識しませんでした。

アドバイスしてください-WIXコードを変更する方法

更新:答えは-昇格されたアクセス許可でWiXスクリプトを実行するかcomserver.exe /regserver、昇格されたアクセス許可で実行しますが、機能しません。上記のスクリプトは便利だと思うので、質問はそのままにして、少し違う質問を作成します

0 投票する
6 に答える
5090 参照

mfc - CDialog::Create が ActiveX コントロールを含むダイアログで失敗する

ActiveX コントロールを含むモードレス ダイアログを作成するモジュールがあります。このモジュールは MFC EXE アプリケーションの一部であり、ダイアログの作成は正常に機能しました。最近、モジュールを ATL/COM サーバーに移動し、ダイアログ リソースを EXE から COM サーバーにコピーしました。モードレス ダイアログを使用して作成しようとするとCDialog::Create()、エラーが発生します。

デバッグして、 which returnsとreturnsCDialog::Createで失敗することに気付きました。ダイアログ リソースのプロパティで "No Fail Create" フラグを True に変更したところ、エラーの詳細が表示されました。この問題は、マクロ内のダイアログで発生します。これは、次のようにコントロールのリソース ID を使用して を呼び出します。::CreateDialogIndirect()NULLGetLastError0DoDataExchange()DDX_ControlCDataExchange::PrepareCtrl()

m_pDlgWnd->GetOleControlSite()渡されたリソース ID に対する関数の呼び出しは失敗します。ちなみに、リソース ID はコントロールの ID です。

これがEXE内で機能し、COMサーバーで失敗する理由について何か提案はありますか?

0 投票する
1 に答える
148 参照

delphi - ComClass を見つけました。それを参照するにはどうすればよいですか?

小売アプリケーションへのプラグインとして機能する小さな COM サーバーを Delphi 2010 で作成しました。小売アプリケーションは、それぞれを呼び出す任意の数の追加インターフェイスを登録する「検出」インターフェイスを探しますTAutoObjectFactory.Create。これは問題なく機能しています。すべてのプラグイン インターフェイスは設計どおりに機能します。

しかし、コードを複製する必要がないように、あるインターフェイスのパブリック メソッドを別のインターフェイスから呼び出したいと考えています。ComClassManager.ForEachFactory使用する必要があるインターフェイスの ClassID を探して呼び出すだけです。それもうまくいきました!

しかし、クラスを見つけたので、一見些細な最終ステップに困惑しています。実際にそのメソッドの 1 つを呼び出すために見つけたクラス (またはクラス参照?) を使用またはキャストする方法です。

に送信した「FactoryProc」ではForEachFactory、の ComClass プロパティが求めてTComObjectFactoryいるものであると想定していますが、それは TClass 型であり、それが指す実際のクラス オブジェクトへのクラス参照です (少なくとも、これを正しく理解してください)。私はクラス参照について少し曖昧で、このプロパティをキャストまたは逆参照しようとすると、アクセス違反またはコンパイラ エラーが発生しました。

助言がありますか?

0 投票する
0 に答える
229 参照

c# - ComVisible 属性と IDispatch インターフェイス

ComVisible 属性と IDispatch インターフェイスの間に関係はありますか? つまり、C# で COM クラス、COMVisible TRUE を作成すると、IDispatch インターフェイスからそのクラスが自動的に実装されるということですか?