問題タブ [com-interface]

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 投票する
1 に答える
2434 参照

c++ - Qt で COM オブジェクトを作成する

COM オブジェクトを作成し、Qt のオブジェクトからインターフェイスを取得しようとしています。したがって、Qt は COM クライアントとして動作します。私の例では、COM サーバーは CANoe COM サーバーです。

CANoe への接続を確立しようとする Qt pro ファイルと interface.cpp ファイルのソース コードを次に示します。

プロファイル:

インターフェイス.cpp

プログラムをビルドしようとすると、次のエラー コードが表示されます: undefined reference to '_GUID const&_mingw_uuidof()'

Qt と COM サーバー間の COM インターフェイスを作成する方法を知っている人はいますか? インターネットで何時間も検索しましたが、説明が見つかりません。ATL を使用して Visual Studio で COM サーバーにアクセスする場合のみ。しかし、Qt で ATL を使用できません。

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

python - Python:親アプリケーションを閉じた後、COMオブジェクトをメモリに永続的に保持する(しない)方法は?

私は (かなり大きな) Python/Tkinter アプリケーション (Windows 7 では Python 2.7) に取り組んでおり、これは (とりわけ) COM インターフェイス経由で Matlab を呼び出します。Matlab/COM 部分の基本構造は次のようになります。

この単純化されたコードで私が観察した動作は次のとおりです。アプリケーションを実行してボタンをクリックすると、Matlab-Instance が作成され (Matlab-Command ウィンドウが開きます)、Tkinter アプリケーションを閉じると、その Matlab-window と Task-マネージャー失踪。手順を繰り返して、Matlab を再起動します。ただし、「実際の」アプリケーションで「同じ」ことを行うと、アプリケーションを閉じた後も Matlab インスタンスが保持され、さらに、アプリケーションを再起動して Matlab を「開始」する部分を実行すると、インスタンスが取得されて使用されます。アプリの最初のセッションを終了した後もメモリに残っていました。残念ながら、後者の動作を示すかなり小さなコード例を分離することはできません:(

これの理由が何であるか、またはその理由を知っている人はいますか?

COM オブジェクトを作成した親 Python アプリケーションが閉じられたときに、COM オブジェクトを強制終了するかメモリに保持するかをどのように制御できますか?

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

c# - C#を使用してIUnknown引数をCOMインターフェイスに渡す方法は?

このように定義されたCOMインターフェースがあります

IUnknownC#を使用してオブジェクトを渡すにはどうすればよいですか?

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

c# - レガシ コードでパブリック COM インターフェイスのメソッドを呼び出せません

"Register for COM interop"が true に設定された C# DLL があります。この DLL に新しいインターフェイスを追加し、既存のインターフェイスのいずれかのメソッドの名前を変更するまで、すべてがうまくいきました。

これを行った後、再コンパイルしてレガシーアプリケーションでこれらのインターフェースを使用しようとすると、宣言されていない識別子「インターフェースの名前」のようなエラーが発生します。インターフェイスのどのメソッドも使用できません。ソース管理でこのコードをチェックインしましたが、このコードを他のマシンでコンパイルすると問題なく動作します。したがって、コードに間違いはありません。

これが私がインターフェースを宣言した方法です

regasm を使用して DLL を登録しようとしましたが、何も機能していないようです。コンパイル時エラーが発生します。変更を取り消すと、両方のプロジェクトが正常にコンパイルされます。他のマシンでの同じ変更は正常に機能していますが。

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

excel - TortoiseSVN が VBA でユーザー セット キーワードを取得する

Tortoise SVN では、キーワードを設定しました。

  • 値が「YYYY-MM-DD」の「KOPF:ReviewDate」。

ここで、COM-Interface (SubWCRev) shwon でキーワードを読み取るマクロを作成しました: http://tortoisesvn.net/docs/release/TortoiseSVN_de/tsvn-subwcrev-com-interface.html

「KOPF:ReviewDate」値を読み取る可能性が見つかりませんでしたか? これは可能ですか?

0 投票する
3 に答える
4661 参照

c++ - COM での IDispatch と IUnkown の違いは何ですか?

COMの例を読んで見ましたが、インターフェイスの違いを明確に理解できませんでした。

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

f# - fsi F#インタラクティブでcomインターフェースを参照する

このmatlab.Netの例を F# インタラクティブに書き直そうとしています。この例では、COM インターフェイス参照が使用されています。fsi 内から COM インターフェイスを参照するにはどうすればよいですか?

編集

説明されているように参照します

[プロジェクト] メニューから [参照の追加] を選択します。[参照の追加] ダイアログ ボックスで [COM] タブを選択します。MATLAB アプリケーションを選択します。

この参照は、右クリックでインタラクティブに送信できません。プロパティにパスがなく、説明に記載されている MLApp.dll が matlab ディレクトリに見つかりません。この F# プログラムは次のように機能します。

でもFSIから使いたい。

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

python - Python: Win32 COM Api を使用して Excel ワークブックを開く

次のコードを使用して、Excel 内でブックを開いて表示しています。

ファイル 'my_sheet.xlsm' が既に開かれている場合、保存せずにもう一度開くかどうかを Excel が尋ねてきます。

ワークブックが既に開いているかどうかを事前に確認するにはどうすればよいですか?

編集:今までにわかった:

もう 1 つ質問があります。私のワークシートには、フィルタリングを有効にしたヘッダーがいくつか含まれています。そのため、フィルターが設定されている場合、および Python からワークブックを開くと、フィルターを保存するために一意の名前を入力するように求められることがあります。何故ですか?これはダイアログです:

ここに画像の説明を入力

編集OK ここでは、後者の問題は 2007 および 2010 ファイルの既知のバグであると (ドイツ語で) 述べています: https://social.msdn.microsoft.com/Forums/de-DE/3dce9f06-2262-4e22-a8ff- 5c0d83166e73/excel-api-interne-namenプログラムで Excel-Files を開くと存在するようです。回避策があるかどうかはわかりません。