- - PR -
C#で作成したDLLをVC++6.0から使用する
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-05-12 10:20
こんにちは。
C#初心者です。 VC++6.0で作成したアプリケーションで、VS.NETの「C#クラスライブラリ」で作成したDLLを使用する方法を探しています。 RegAsm.exeでDLLを登録したのですが、コンポーネントの参照に反映されず、直接参照しようとすると、"Unable to find DLLRegisterServer"というエラーがでてしまって使用できませんでした。 どなたかVC++6.0のアプリケーションで、C#で作成したDLLを使用する方法をご存知の方教えていただけないでしょうか? | ||||
|
投稿日時: 2004-05-12 12:42
諸農です。
RegAsmに/tlbオプションでタイプライブラリを作成して、 VC++のプロジェクトに取り込めませんか? VC6.0では試していませんが、DelphiやC++Builderでは利用可能でした。 SDKでCCWを検索すれば参考になる情報に行き当たると思います。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2004-05-12 15:22
情報ありがとうございます。
RegAsmの/tlbオプションでタイプライブラリの登録はできていて、 VSの参照の追加のCOMには登録が反映されています。 VC++6.0で作成されたアプリケーションの方の、 コンポーネントの選択画面に反映されていないので、 こちらのCOMの呼び出しのほうに問題があると思うので、 こちらの呼び出し方のを調べようと思います。 アドバイスありがとうございます。 | ||||
|
投稿日時: 2004-05-12 15:37
諸農です。
VCのコンポーネントの選択画面というのを知らないのですが、 .NETはside-by-sideです。 それはCOM公開しても同じですので、COM公開したアセンブリは アプリケーションと同じディレクトリに配置する必要があります。 また、アセンブリに含まれるCOM公開するクラスには、適時必要な 属性を付加する必要があります。もしかすると、表示できないとい うのが、必要な属性を付加していないことが原因かもしれません。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2004-05-12 18:20
ありがとうございます。
VC++6.0の方はCOMのCLSIDを直接指定することで参照できるようになりました。 アドバイスありがとうございました。 |
1