ActiveXの登録とは?

解決


kkk  2003-05-22 16:47:24  No: 3594

ActiveXコントロールのシステムへの登録とパレットへの登録の違いがいまいちよくわかりません。

他人の自作ActiveXをシステムに登録はできなかった(実行->ActiveXサーバの登録)のですが、パレットには登録できまして、実行することはできましたが、なぜだかわかりません。
どうかご教授お願いします。


にしの  2003-05-22 17:54:46  No: 3595

できなかったとは、エラーが発生したのでしょうか。
プロジェクトとして、ActiveXのプロジェクトなら、誰が作った物でもできると思うのですが。
要因として考えられるのは、
・すでにそのCLSIDが使われている
・プロジェクトにエラーがある
だと思います。

すでにコンパイルされたocxを登録したいのであれば、regsvr32.exeを使用します。
regsvr32を実行すると、ヘルプのダイアログが出るので参考にしてください。

Delphiのコンポーネントに登録する場合、tlibimpなどでtypelibを取り出し、それをDelphiに変換して行っています。
typelibが存在するActiveXであれば、コンポーネント化は可能です。
# 設計時に使えるかどうかは、そのActiveXによります。


kkk  2003-05-22 20:24:26  No: 3596

早速のレスありがとうございました。
なんだかコンポーネントがありませんとでてきました。単純にコンパイルエラーみたいです。

とりあえず、システムの登録とパレットの登録ではどう違うのかよかったら教えてください。


にしの  2003-05-22 21:19:19  No: 3597

システムに登録すると、そのActiveXコンポーネントは(登録した)Windows上で使うことができます。
Delphiだけでなく、VBでもVCでも、InternetExplorerでも使用できます。
# 動作はそのコンポーネントによります

パレットに登録してあるのはActiveXだけではありません。単純なVCLコンポーネントがほとんどだと思います。
また、まだ登録していないActiveXは、パレットに登録できません。
先ほど書いたように、一度VCLコンポーネントとして変換し、そのActiveXを操作するコンポーネントを、パレットに登録します。

ActiveXとVCLを混同されているようですが、このあたりは大丈夫でしょうか。
VCLを抜きに考えれば、
・システム登録はDelphiに関係ない登録
・パレットに登録できるActiveXは、すでにシステム登録してある(もしくはパレット登録時にシステムに登録してから行える)
です。


kkk  2003-05-23 00:17:32  No: 3598

なるほど〜。
おそらく、パレットに登録と同時にシステムにも登録されたみたいですね。
でも、システムへの登録はうまくいかないし、なんかわかりませんね。


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

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






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