DOBON.NETプログラミング掲示板過去ログ
VB、C#でのActiveX、COMの開発が可能か?
題名: VB、C#でのActiveX、COMの開発が可能か?
著者: ぽこぶび
日時: 2006/04/09 22:22:29
ID: 15268
この記事の返信元:
(なし)
この記事への返信:
[15273]
Re[1]: VB、C#でのActiveX、COMの開発が可能か?
渋木宏明(ひどり)
2006/04/10 10:20:02
ツリーを表示
環境/言語:[OS : Windows 2000 Professional / 言語 : C++]
分類:[.NET]
【解決したい問題】
はじめまして。ぽこぶびと申します。
現在、VisualStudio2003のC++を使って
COM、ActiveXコンポーネントを開発しておりますが
いくつか疑問があるので質問させてください。
C++での開発はぜんぜん問題ないのですが、
VisualStudio2003でVB、C#でも
C++のようにActiveX、COMコンポーネントの開発は
可能なのでしょうか?
もし、可能なのでしたら、新規プロジェクトを作成するときに
どのような手順で選択していったらスケルトンコードが作成されるので
しょうか?
どうかよろしくお願いいたします。
題名: Re[1]: VB、C#でのActiveX、COMの開発が可能か?
著者: 渋木宏明(ひどり)
URL:
http://hidori.jp/
日時: 2006/04/10 10:20:02
ID: 15273
この記事の返信元:
[15268]
VB、C#でのActiveX、COMの開発が可能か?
ぽこぶび
2006/04/09 22:22:29
この記事への返信:
(なし)
ツリーを表示
> VisualStudio2003でVB、C#でも
> C++のようにActiveX、COMコンポーネントの開発は
> 可能なのでしょうか?
見かけ上可能です。
.NET と COM では実行原理がまったく異なりますが、.NET の「COM 相互運用」機能を利用して、.NET のクラスを coclass として公開することが可能です。
ですが、旧 VB や VC++ で作った「真の COM コンポーネント」とは、使い勝手等に微妙な差があります。
詳細は MSDN Library の「.NET Framework 開発者ガイド」の「相互運用性」以下のトピックで解説されています。
> もし、可能なのでしたら、新規プロジェクトを作成するときに
> どのような手順で選択していったらスケルトンコードが作成されるので
> しょうか?
いわゆる「ActiveX コントロール」や「ActiveX DLL」基本のプロジェクトタイプは「クラスライブラリ」になります。
ActiveX コントロールの場合は「ユーザコントロール」を、ActiveX DLL の場合は単なる「クラス」をプロジェクトに追加し、COM 連係用の属性で適切にマークを行います。
プロジェクト設定に「COM 相互運用に登録」のような項目があるので、これを有効化してビルドするか、ビルドしたアセンブリを regasm.exe ユーティリティでシステムに登録すると、.NET のユーザコントロールやクラスを COM から利用することができます。
なお、旧 VB で言う所の「ActiveX EXE」の作成を、.NET および標準ライブラリは積極的にサポートしていません。
OLE/COM によほど精通していない限り、.NET なプログラミング言語による ActiveX EXE の記述は不可能と考えるのが妥当です。
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
【解決したい問題】
はじめまして。ぽこぶびと申します。
現在、VisualStudio2003のC++を使って
COM、ActiveXコンポーネントを開発しておりますが
いくつか疑問があるので質問させてください。
C++での開発はぜんぜん問題ないのですが、
VisualStudio2003でVB、C#でも
C++のようにActiveX、COMコンポーネントの開発は
可能なのでしょうか?
もし、可能なのでしたら、新規プロジェクトを作成するときに
どのような手順で選択していったらスケルトンコードが作成されるので
しょうか?
どうかよろしくお願いいたします。