- PR -

C#で作成したDLLをVC++6.0から使用する

1
投稿者投稿内容
ino
会議室デビュー日: 2004/05/11
投稿数: 13
投稿日時: 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を使用する方法をご存知の方教えていただけないでしょうか?
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-05-12 12:42
諸農です。

引用:

RegAsm.exeでDLLを登録したのですが、コンポーネントの参照に反映されず、直接参照しようとすると、"Unable to find DLLRegisterServer"というエラーがでてしまって使用できませんでした。



RegAsmに/tlbオプションでタイプライブラリを作成して、
VC++のプロジェクトに取り込めませんか?
VC6.0では試していませんが、DelphiやC++Builderでは利用可能でした。

SDKでCCWを検索すれば参考になる情報に行き当たると思います。

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
ino
会議室デビュー日: 2004/05/11
投稿数: 13
投稿日時: 2004-05-12 15:22
情報ありがとうございます。

RegAsmの/tlbオプションでタイプライブラリの登録はできていて、
VSの参照の追加のCOMには登録が反映されています。

VC++6.0で作成されたアプリケーションの方の、
コンポーネントの選択画面に反映されていないので、
こちらのCOMの呼び出しのほうに問題があると思うので、
こちらの呼び出し方のを調べようと思います。

アドバイスありがとうございます。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-05-12 15:37
諸農です。

引用:

VC++6.0で作成されたアプリケーションの方の、
コンポーネントの選択画面に反映されていないので、
こちらのCOMの呼び出しのほうに問題があると思うので、
こちらの呼び出し方のを調べようと思います。



VCのコンポーネントの選択画面というのを知らないのですが、
.NETはside-by-sideです。
それはCOM公開しても同じですので、COM公開したアセンブリは
アプリケーションと同じディレクトリに配置する必要があります。
また、アセンブリに含まれるCOM公開するクラスには、適時必要な
属性を付加する必要があります。もしかすると、表示できないとい
うのが、必要な属性を付加していないことが原因かもしれません。


_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
ino
会議室デビュー日: 2004/05/11
投稿数: 13
投稿日時: 2004-05-12 18:20
ありがとうございます。

VC++6.0の方はCOMのCLSIDを直接指定することで参照できるようになりました。

アドバイスありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)