- - PR -
ActiveX Controls の開発について
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-06-27 11:54
質問です。
ALTやMFCや.Netを使うことなく、 IEに貼り付けられるActiveX Controlsは、 作れないものでしょうか? なぜなら フレームワークのDLLに依存させたくないのです。 新規パソコンにいれたら動くようなActiveX Controlsを作成したいのです。 例としては、FlashPlayerやMicrosoftUpdateなどです。 如何でしょうか? また、 参考になるURLなど教えて頂けたら幸いです。 環境はVC++2005です。 宜しく御願い致します。 _________________ | ||||||||||||
|
投稿日時: 2007-06-27 12:15
こんにちは。
ALTやMFCを使う分には、 プロジェクトの設定でランタイムDLLを使わないように(スタティックライブラリを使うように) 設定できるはずです。 ALTやMFCなどのフレームワークなしに、 いちからActiveXコントロールを作るのは至難な業な気がします。 多くのCOMインターフェイスを実装しなければならないですが おそらくネットで調べても、実装の参考になる資料がみつからないのでは? | ||||||||||||
|
投稿日時: 2007-06-27 12:34
必要なインターフェースの実装をすればいいだけのことなので、 どのようなフレームワーク(開発環境も含め)利用するかはあまり関係ないのでは? IClassFactory とか面倒ですけど、単に面倒だというだけで 実装そのものはそれほど難しくはないですよ。 COM のお作法を知ってるのなら。 このあたりは、Inside OLE(はるか昔に絶版w)に細かなことが載ってます。 持ってないという場合は英語の情報ならまだあたれるかもw #昔MSDNにあったんだけど...今はどうだろう?
Native C/C++ の環境なら依存問題はスタティックリンクでかなりの部分は 解決できますよね? もっとも、IE に乗せるということは、cab 配布だろうから、inf をきちんと 作りこんでおけば、インストールはできると思うんですが このあたりは詳しくないので何とも言えません。 #msiとか使えれば楽なんでしょうけどねw
概要レベルからということになると MSDN くらいしかないのではないかと。 英語なので探すのも大変かもというのはありますが、きちんと網羅しているのはこれくらいだと思いますよ。 もともと、COM回り(特にActiveX なる名前が出て以降)は、日本語の情報は数冊書籍があった程度くらいしかないのではないかと。 それもほとんどが絶版かそれに近い状況だと思いますので、今から新規にCOM周りの日本語情報を仕入れるというのはかなり難しいと思いますよ。 専門書を扱う書店を全国行脚でもすれば手に入るかもしれませんがww あとは、より具体的なものじゃないと参考といっても探しようもないと... もっとも、おいらは WEB関係はさっぱり〜な人なので、聞かれても答えられないですけどww _________________ // とっちゃん(高萩 俊行)@わんくま同盟 // とっちゃん’Blog // MS-MVP for Developer Tools - Visual C++ // WindowsInstallerの話題はhttp://www.freeml.com/msiまで | ||||||||||||
|
投稿日時: 2007-06-27 14:25
ご回答ありがとうございます。
スタティックライブラリですよね。 この辺も試してみたのですが、要件に合わなくて、 今回のご質問をさせていただきました。
確かに実装の参考になる資料が殆どありません。 至難の業と思いますが、まずは、やってみようと思います。 | ||||||||||||
|
投稿日時: 2007-06-27 14:45
ご回答ありがとうございます。
Inside OLEですね。Inside OLE2はあったのですが、、、探して見ます。 必要なインターフェイスがなにかなどは、調べてわかったので、 実装したサンプルなどあればいいなと思っていましたが、 殆どネットには、なくて困っていました。
スタティックライブラリは、試してみました。 環境には、依存しなくなるのですが、要件にあいませんでした。
アマゾンで、探して、それっぽい書籍は、みつかりました。 ActiveXは、今後また重要になってくると思うので、 ATLやMFCで作るのではなく、一からつくってみようと思った次第です。 | ||||||||||||
|
投稿日時: 2007-06-27 15:28
大昔に "ActiveX SDK" というものが配布されていたので、その中に入っていたかもしれません。 # まだ配布されているかどうか確認していません。
具体的にはどういう点で? ファイル容量ですか? | ||||||||||||
|
投稿日時: 2007-06-27 15:58
すいません。Inside OLE2 です。もっているのなら、その中に C++ での実装がありますよ。IClassFactory とか... IDispatch については記述があったかどうかちょっと覚えていませんが こちらはあんまり細かに扱われているものはなかったような気がします。 で、サンプルですが、MFC も ATL もサンプルとしては役に立つと 思うのですが、それを参考に作るというのは難しいですか? 実際に動くものなので、ステップ実行すれば、何をやっているかなども 具体的に追いかけられます。 全部のソースがありますから、特定の箇所だけ見えないなどもありません。
渋木さんも書いてますけど、「なにが」要件に合わないのでしょうか? スタティックリンクでだめだとなると、完全自前で実装でも 要件に合わない可能性が出てきますけど? もしかして、/clr とかスイッチつけているのが原因ということは ないですよね? _________________ // とっちゃん(高萩 俊行)@わんくま同盟 // とっちゃん’Blog // MS-MVP for Developer Tools - Visual C++ // WindowsInstallerの話題はhttp://www.freeml.com/msiまで | ||||||||||||
|
投稿日時: 2007-06-27 17:36
もちろん載ってますよ。 書名にある "OLE" のオートメーションではディスパッチの方が主流ですから。
たとえば、ファイルサイズが問題なら、ATL でも十分に小さいサイズのコントロールが作れるはずですね。 ATL でも駄目ってことになると、VC++ ランタイムですら使っちゃ駄目ってことなんでしょうかーね。 もしそうなら、そりゃ大変だ。 |