.NETで自作のユーザーコントロールをActiveXにしてCOMコンポーネントに追加するには?

解決


インフォ  2003-12-10 02:44:09  No: 110553

Windowsコントロールライブラリプロジェクトの自作ユーザーコントロールをビルドした後、そのDLLをCOMコンポーネントに追加したいのですが、できません。
追加できなければ目的であるASP.NET WebアプリケーションのForm上に貼り付けが不可能のようです。
どなたか情報をお持ちの方、教えてもらえないでしょうか?


岡田 之仁  2003-12-11 06:20:32  No: 110554

ちなみに・・・
最初に定義されているWindowsコントロールライブラリプロジェクト
の自作ユーザーコントロールとは、何の環境で作成したものですか?

.NETコンポーネントであれば、ASP.NETで直接参照が可能です。

VB6等であれば、既にCOMコンポーネントですので、.NETの参照設定
での、COMタブの方で参照可能ですが・・・
尚、一覧に無い場合は、参照ボタンをクリックして、そのDLL等を
選択すればよいはずです。

なんか、こんがらがっていますので、もう一度、状況の確認と、
そのオブジェクトのタイプを記載して下さい。

以上。


インフォ  2003-12-11 19:25:28  No: 110555

岡田 之仁さん、ありがとうございます。
その自作コントロールはVB.NETで作ったものです。

そのコントロールのDLLを
「ツールの追加と削除」での.NET Framework コンポーネントには正常に
追加できるのですが、COMコンポーネントには"このファイルはCOMサーバー
として認識されませんでした"ということで追加できません。

COMコンポーネントにはできないんでしょうか?


岡田 之仁  2003-12-12 05:10:26  No: 110556

いや・・・ですから、何故、.NETコンポーネントとして追加が正常に
行えているのに、同じものを、COMコンポーネントで二重に追加する
必要があるのですか?

.NETコンポーネントとして認識・追加できていれば、問題なく使える
ことになりますが・・・

何か別のことがしたいのでしょうか?

以上。


インフォ  2003-12-13 01:28:12  No: 110557

目的としては
CABファイルを作成し、それをWEB上で実行可能な状態にすることです。

そのためにはクラスIDを取得しなければいけません。
クラスIDを取得するには
Microsft FrontPageの「挿入」→「アドバンスト」→「ActiveXコントロール」で該当DLLを選択するとHTML上にクラスIDが記載されますので、その
方法を使おうと考えました。
その該当DLL群がCOMコンポーネントなのです。

.NETコンポーネントとして認識・追加できているのですが
ASP.NETアプリケーションのWebForm上に貼り付けることができないので
COMコンポーネントとして追加すればWebForm上に貼り付けることができる
のではないかと考えました。

以上です。どうぞよろしくおねがいします。


岡田 之仁  2003-12-13 02:53:24  No: 110558

まず・・・
Windowsフォームに貼り付けられる.NETコンポーネントは、
必ずしもWebフォームには貼り付けられない。と言うこと
です。

その辺の考慮を為された.NETコンポーネントであれば、
問題なく、Webフォームに貼り付けられますが・・・

.METコンポーネントのCOM化については、マイクロソフト
のサイトに情報がありますので、その方法を検索してみ
て下さい。

以上。


インフォ  2003-12-16 17:57:24  No: 110559

情報によると.NETにてActiveXコンポーネントは作成不可能のようです。
.NETで作成できるWebコンポーネントは、.NET Flamework上でしか
動作させることができません。(IISにてASPを使用する)

特殊なことをすれば作成可能なようですが、保守性が低下するため
.NETでの作成は諦めることにしました。

岡田さんありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加