C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[15]: Shockwave ActiveX Contorlの情報


(過去ログ 16 を表示中)

[トピック内 17 記事 (1 - 17 表示)]  << 0 >>

■5717 / inTopicNo.1)  Shockwave ActiveX Contorlの情報
  
□投稿者/ まつ (1回)-(2007/07/21(Sat) 13:39:36)

分類:[C#] 

VS2005を使用しています。
Macromedia の Director というコンテンツ作成ツールで作成したファイルを再生できるアプリケーションを
作りたいと思っています。
このコンテンツの拡張子はdcrです。Shockwave Playerをインストールすると再生できます。
名前が似ているのですが、Shockwave Flashではありません。Flashの後継あるいは親戚ではないかと思っています。

まずツール→ツールボックス アイテムの選択 → COMコンポーネントタブ で Shockwave ActiveX Contorl に
チェックを入れます。
するとツールボックスにShockwave ActiveX Contorlが追加されます。
これをフォームに貼り付けてSRCプロパティーにファイル名を設定しました。
これでアプリケーションを走らせるとファイルの再生はできます。
しかし貼り付けたコントロールのサイズが勝手に変わってしまいます。
どこかのプロパティーの設定で解決できると思いますが、プロパティーに関する情報を見つけることができませんでした。

このコントロールの使い方、サンプルソース、あるいは情報のある場所を教えてください。

引用返信 編集キー/
■5719 / inTopicNo.2)  Re[1]: Shockwave ActiveX Contorlの情報
□投稿者/ 渋木宏明(ひどり) (279回)-(2007/07/21(Sat) 14:25:22)
渋木宏明(ひどり) さんの Web サイト
> このコントロールの使い方、サンプルソース、あるいは情報のある場所を教えてください。

素朴な疑問なんですが、Macromedia もしくは Adobe ではそういった情報を公開していないのですか?

引用返信 編集キー/
■5720 / inTopicNo.3)  Re[2]: Shockwave ActiveX Contorlの情報
□投稿者/ まつ (3回)-(2007/07/21(Sat) 14:46:43)
No5719 (渋木宏明(ひどり) さん) に返信
>>このコントロールの使い方、サンプルソース、あるいは情報のある場所を教えてください。
>
> 素朴な疑問なんですが、Macromedia もしくは Adobe ではそういった情報を公開していないのですか?
>
  公開していないと思われます。(相当な時間をかけて検索しましたが見つかりません。)
  サポートに電話もしてみましたが、自分でプログラムを作るということがサポート対象外のようです。
  つまりAdobeの製品であるDirectorはサポート対象だが、そのコンポーネントの使い方は面倒を見ない
  というスタンスでのようです。

  一方Flashに関する情報は若干Adobeのホームページに有り、サンプルプログラムもありました。
  さらにFlashの中身(仕様)に関する情報も入手できそうな感じでした。

  Shockwaveとなると世界中でだれもプログラムを作っていないのではないかと思えるほど検索できません。


引用返信 編集キー/
■5722 / inTopicNo.4)  Re[3]: Shockwave ActiveX Contorlの情報
□投稿者/ 渋木宏明(ひどり) (280回)-(2007/07/21(Sat) 16:18:52)
渋木宏明(ひどり) さんの Web サイト
>   公開していないと思われます。(相当な時間をかけて検索しましたが見つかりません。)
>   サポートに電話もしてみましたが、自分でプログラムを作るということがサポート対象外のようです。
>   つまりAdobeの製品であるDirectorはサポート対象だが、そのコンポーネントの使い方は面倒を見ない
>   というスタンスでのようです。

ライセンス関係は大丈夫なんですかね?

引用返信 編集キー/
■5731 / inTopicNo.5)  Re[4]: Shockwave ActiveX Contorlの情報
□投稿者/ まどか (339回)-(2007/07/21(Sat) 22:02:15)
>>  サポートに電話もしてみましたが、自分でプログラムを作るということがサポート対象外のようです。
>>  つまりAdobeの製品であるDirectorはサポート対象だが、そのコンポーネントの使い方は面倒を見ない
>>  というスタンスでのようです。
>
> ライセンス関係は大丈夫なんですかね?

参照設定の一覧に出てくるけど、使ってよいかおよび配布してよいか、は別問題ということですね。
メーカーがそれについて言わないのであれば、使ってよいという解釈してしまいそうですがやはり配布は別問題ですよね。
使い方の前に使用可否と配布可否について確認したほうがよさそうですね。
引用返信 編集キー/
■5732 / inTopicNo.6)  Re[5]: Shockwave ActiveX Contorlの情報
□投稿者/ 中博俊 (1129回)-(2007/07/21(Sat) 22:10:17)
中博俊 さんの Web サイト
しんだプロダクトなんでねー
まぁライセンスは直接許可の一文をもらえばいいでしょう。

引用返信 編集キー/
■5735 / inTopicNo.7)  Re[5]: Shockwave ActiveX Contorlの情報
□投稿者/ 渋木宏明(ひどり) (281回)-(2007/07/22(Sun) 05:48:05)
渋木宏明(ひどり) さんの Web サイト
>>ライセンス関係は大丈夫なんですかね?
>
> 参照設定の一覧に出てくるけど、使ってよいかおよび配布してよいか、は別問題ということですね。
> メーカーがそれについて言わないのであれば、使ってよいという解釈してしまいそうですがやはり配布は別問題ですよね。

はい、そゆことです。

> 使い方の前に使用可否と配布可否について確認したほうがよさそうですね。

でないと、せっかく作ってはみたものの誰にも公開できない、という不幸なアプリになってしまいます。

引用返信 編集キー/
■5742 / inTopicNo.8)  Re[6]: Shockwave ActiveX Contorlの情報
□投稿者/ まつ (4回)-(2007/07/22(Sun) 11:01:45)
No5735 (渋木宏明(ひどり) さん) に返信
> >>ライセンス関係は大丈夫なんですかね?
 
    多少心配ではあります。
>
>>使い方の前に使用可否と配布可否について確認したほうがよさそうですね。

  確認して、再配布可能になったとします。その時に「技術的にできません。」とは言えません。
  ですから事前に、出来るという確証を得たいわけです。
>
> でないと、せっかく作ってはみたものの誰にも公開できない、という不幸なアプリになってしまいます。
>
  その可能性はあります。でも気にしません。そんなのは良くある話です。
  それよりもまずは技術的に問題を解決したいと思っています。
  色々と検索しましたが、私には問題解決の情報を見つけることができません。
  皆様よろしくお願いします。  


引用返信 編集キー/
■5745 / inTopicNo.9)  Re[7]: Shockwave ActiveX Contorlの情報
□投稿者/ 渋木宏明(ひどり) (283回)-(2007/07/22(Sun) 14:21:41)
渋木宏明(ひどり) さんの Web サイト
> >>使い方の前に使用可否と配布可否について確認したほうがよさそうですね。
>
>   確認して、再配布可能になったとします。その時に「技術的にできません。」とは言えません。
>   ですから事前に、出来るという確証を得たいわけです。

使用の可否あるいは使用方法の調査を行うことが問題にならないかどうかの確認は、技術的確証を得る前にやっておくべきと思います。

ベンダが使用方法を積極的に公開していないということは、その使用方法を知るためにはリバースエンジニアリングに通じかねない作業が伴うかもしれません。

Director の ActiveX コントロール?が実際にどういうライセンス条件を設定しているか知りませんが、リバースエンジニアリングおよびリバースエンジニアリング的な作業を禁じているソフトウェア製品は数多くあるはずです。
引用返信 編集キー/
■5747 / inTopicNo.10)  Re[8]: Shockwave ActiveX Contorlの情報
□投稿者/ 渋木宏明(ひどり) (284回)-(2007/07/22(Sun) 16:28:27)
渋木宏明(ひどり) さんの Web サイト
>  確認して、再配布可能になったとします。その時に「技術的にできません。」とは言えません。
>  ですから事前に、出来るという確証を得たいわけです。

所詮は ActiveX コントロールですから、タイプライブラリがあればコントロールが実装するメソッド/プロパティの一覧はダダ漏れです。
タイプライブラリは通常、.tlb ファイルとして提供されるか、.dll 内にリソースとして格納されている場合が多いです。

が、今回のように「コントロールの表示サイズ」といった基本的な操作の場合、OLE で定義されている基本的なインターフェースで制御可能かもしれません。

まぁいずれにしろ、OLE/COM に関する基礎的な知識がまずは必要でしょう、ということです。

引用返信 編集キー/
■5749 / inTopicNo.11)  Re[9]: Shockwave ActiveX Contorlの情報
□投稿者/ まつ (5回)-(2007/07/22(Sun) 16:49:43)
>
> 所詮は ActiveX コントロールですから、タイプライブラリがあればコントロールが実装するメソッド/プロパティの一覧はダダ漏れです。
> タイプライブラリは通常、.tlb ファイルとして提供されるか、.dll 内にリソースとして格納されている場合が多いです。
>
  そんなに難しいく考えないでもFormに貼り付けたコンポーネントのプロパティーで見えます。
  
> が、今回のように「コントロールの表示サイズ」といった基本的な操作の場合、OLE で定義されている基本的なインターフェースで制御可能かもしれません。
>
  表示サイズが勝手に変わるから困ってるんです。指示したサイズが表示したら変わってしまいます。
  そのあたりの情報(知識)のある人はいませんか。
引用返信 編集キー/
■5750 / inTopicNo.12)  Re[10]: Shockwave ActiveX Contorlの情報
□投稿者/ 渋木宏明(ひどり) (285回)-(2007/07/22(Sun) 19:21:24)
渋木宏明(ひどり) さんの Web サイト
>   表示サイズが勝手に変わるから困ってるんです。指示したサイズが表示したら変わってしまいます。
>   そのあたりの情報(知識)のある人はいませんか。

OLE で定義されたインターフェースを通じて、コンテナの方に問い合わせが行ってたかもしれません。
IViewObject とかその辺の「OLE 埋め込みオブジェクト」で使用されるインターフェースについて調べてみては?

引用返信 編集キー/
■5751 / inTopicNo.13)  Re[11]: Shockwave ActiveX Contorlの情報
□投稿者/ Atata!! (5回)-(2007/07/22(Sun) 23:49:56)
> 表示サイズが勝手に変わるから困ってるんです。指示したサイズが表示したら変わってしまいます。
> そのあたりの情報(知識)のある人はいませんか。

OLEの仕様によりインプレースオブジェクトの位置とサイズはインプレースオブジェクト自身が制御することを許されています。

実装レベルでは、ActiveXコントロールはコンテナのIOleInPlaceSite::OnPosRectChangeを呼び出しているはずです。
.NET FrameworkのActiveXコントロールコンテナは、この呼び出しに対してオブジェクトの移動とサイズ変更を処理しているだけと思います。
Shockwave ActiveX Contorlが上記の動作を変更する何かの手段を提供していない限り、対応は難しいと思います。

IOleObject::SetExtentでサイズを変更してくれるコントロールも若干存在していますが、これは稀なケースだと思っています。
引用返信 編集キー/
■5752 / inTopicNo.14)  Re[12]: Shockwave ActiveX Contorlの情報
□投稿者/ 渋木宏明(ひどり) (286回)-(2007/07/22(Sun) 23:52:52)
渋木宏明(ひどり) さんの Web サイト
> Shockwave ActiveX Contorlが上記の動作を変更する何かの手段を提供していない限り、対応は難しいと思います。

コントロールサイトを挿げ替えて、IOleInPlaceSite::OnPosRectChange() で言いなりにならずに、コンテナ側で都合のいい位置・大きさに設定してやればよろしんではないでしょうか。

引用返信 編集キー/
■5800 / inTopicNo.15)  Re[13]: Shockwave ActiveX Contorlの情報
□投稿者/ Atata!! (6回)-(2007/07/24(Tue) 00:59:08)
> コントロールサイトを挿げ替えて、IOleInPlaceSite::OnPosRectChange() で言いなりにならずに、コンテナ側で都合のいい位置・大きさに設定してやればよろしんではないでしょうか。

私もそう思います。
.NET Frameworkの機能だけでこれが出来ればいいのですが、4年ほど前に調査した時は(当時の私には)出来ないという結論に達しました。
結果、AxHostクラスを使用せずにActiveXコントロールコンテナ自体をVB.NETで作成することで解決しました。
# この時の調査結果が私のサイトの元ネタとなったわけですが・・・。


それは置いといて、Shockwave ActiveX Controlの場合、
Resizeイベントを拾って元のサイズに再設定すれば可能だったりしないのでしょうか?
引用返信 編集キー/
■5817 / inTopicNo.16)  Re[14]: Shockwave ActiveX Contorlの情報
□投稿者/ 渋木宏明(ひどり) (288回)-(2007/07/24(Tue) 11:08:08)
渋木宏明(ひどり) さんの Web サイト
> .NET Frameworkの機能だけでこれが出来ればいいのですが、4年ほど前に調査した時は(当時の私には)出来ないという結論に達しました。

確かに、「偽コントロールサイトを掴ませる」センでいく場合、偽コントロールサイトで「乗っ取る予定の無いインターフェース」へのアクセスを元のコントロールサイトに転送するのがかなり面倒ですね。

一応、.NET 2.0 からは「1から COM オブジェクトを組み立てる」ことが出来るので、なんとか実現可能だとは思います。

# 某フォーラムの某担当者の回答によると、これっくらいは「大して難しくない」そーですが ;-p

> それは置いといて、Shockwave ActiveX Controlの場合、
> Resizeイベントを拾って元のサイズに再設定すれば可能だったりしないのでしょうか?

後付になりませんかね?
一瞬コントロールが大きい(小さい?)サイズで描画されてしまうかも。

引用返信 編集キー/
■5852 / inTopicNo.17)  Re[15]: Shockwave ActiveX Contorlの情報
□投稿者/ まつ (6回)-(2007/07/24(Tue) 22:19:35)
> 一応、.NET 2.0 からは「1から COM オブジェクトを組み立てる」ことが出来るので、なんとか実現可能だとは思います。
>
> # 某フォーラムの某担当者の回答によると、これっくらいは「大して難しくない」そーですが ;-p


  私には大変難しい話になってしまいました。
  コントロールのプロパティーの設定程度での解決を期待していました。

  ライセンスの話もありますから、adobeに聞いてみます。
  もし情報が出てくれば、その情報を使って実現できると思います。
  出てこないときは、私には出来ません。というしかないようです。

  皆さんありがとうございました。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -