1

説明

VS2010 を使用して DLL ファイル (.COM マネージ DLL) を作成するプロジェクトを作成しようとしています。この DLL は VB にロードされます。また、dll で STL を使用します。

すでに試した

1 - Visual C++ を作成 -> win32 -> Win32 プロジェクト -> 次へ -> DLL を選択 -> エクスポート シンボルにチェックを入れて -> 完了。これはマネージ .COM DLL になりますか? どうすれば確認できますか? この DLL は 64 ビット オペレーティング システム上で 64 ビット DLL または x86 DLL として動作しますか?

2 - 作成された Visual C++ -> MFC -> MFC DLL -> 共有 MFC DLL を使用する通常の DLL これはマネージ .COM DLL でしょうか? どうすれば確認できますか? この DLL は 64 ビット オペレーティング システム上で 64 ビット DLL または x86 DLL として動作しますか?

また、MFC が静的にリンクされた通常の DLL と MFC 拡張 DLL の 2 つのオプションがあります。最初の方法は、後で dll をアップグレードするのが難しくなるため、好きではありません。

DLL を作成するために使用できる他のオプションはありますか?

4

1 に答える 1

0

可能であれば、STL と COM を使用する必要をなくし、マネージ アセンブリのみを作成する必要があります。マネージド アセンブリは、マネージド コードで使用でき、マネージド コードで使用するイベントを発行できます。Visual Studio では、これは CLR -> クラス ライブラリ プロジェクトになります。

STL と COM をマネージ コードと共に使用する必要がある場合は、混合モードの DLL を作成する必要があります。これは簡単なことではありません。経験が限られている場合は、この方法はお勧めしません。

または、マネージ コードの要件をなくすことができれば、COM インターフェイスを実装するネイティブ専用 DLL を作成できます。COM インターフェイスは、ネイティブ コードまたはマネージド コードで使用できますが、使用前に登録する必要があり、マネージド コードから使用するにはマネージド ラッパーが必要です。

于 2013-06-01T17:30:14.023 に答える