1

ActiveX コントロールの機能をラップするプラグイン アプリケーションを作成する FireBreath プロジェクトに取り組んでいます。ActiveX コントロールのソース コードもあります。

FireBreath サンプル ページで提供されているサンプル例に基づいて、Active X コントロールをラップするために必要なラッパー クラスをコーディングしました。

firebreathプロジェクトからactivexコントロールのイベントインターフェイス、クラス、および関数を呼び出すために、firebreathサンプルページからダウンロードしたプログラムは、このようなステートメントを使用して、activexコントロールのタイプ情報をプロジェクトに公開します

// Import the ActiveX control's typelib so we can easily call methods, etc.
// on the ActiveX control.
#import "PROGID:FBExampleCtl.xpcmdbutton" no_namespace, raw_interfaces_only$

しかし、私のプログラムでこのようなものを使用すると、エラーが発生し、ヘッダーに含まれるタイプ ライブラリが見つかりません。

そのため、activex コントロールのタイプ ライブラリをプロジェクトに公開する方法と、タイプ ライブラリで定義されたメソッドと関数をプログラムから使用する方法を理解できません。

ps:1) Oleview もインストールして、システムでタイプ ライブラリが利用可能かどうかを確認しました。それから、次のような代替手段も試しました

#import "GUID of the typelibrary". But this also didnot work.

2)私も試しました

#import "myrequireddll.dll"  

また、デバッグ環境でのdllへのパスについても言及しました。しかし、コンパイラはまだ同じエラーを出し、ファイルを見つけることができません。

4

2 に答える 2

3

次の #IMPORT ディレクティブを使用して、TLB ファイルをヘッダー (.h) ファイルに直接インポートできます。

#import "C:\<PATH_TO_YOUR_TLB_FILE>.tlb" no_namespace, raw_interfaces_only

于 2013-02-04T16:42:11.910 に答える
-1

MASM32 プログラミング用の Visual Studio 2010 のセットアップに関する私のブログの投稿を確認してください。MASM32 のセットアップについて説明していますが、サード パーティのタイプ ライブラリを追加してプロジェクトにファイルを含める方法を示しています。

于 2011-10-20T01:47:01.447 に答える