« 【講座】HSPよく使うフレーズ 第24回 スクロールしてみる | メイン | 【よみもの】もーりおのつぶやき 第4回 »

2007年02月20日

【講座】「教えて!おにたま!!」

ちょっと無理難題(?)にぶちあたったので、質問させて
いただきます。HSP内でFLASHファイル(*.swf)を再生することは
できるのでしょか?
もしHSP単体だけでは再生できなくともなにかDLLなどを追加
することによって再生できるようになったりするのでしょうか?

<こたえ>

お便りありがとうございます。
HSP3では、ActiveXによって各種機能を呼び出すことができます。
FLASHファイルは、基本的にIEコンポーネントなどで表示させる
ことが可能ですが(サンプルのcomtest2.hspなどで試してみて
ください)、直接Flashオブジェクトを利用してswfファイルを
ウィンドウ内で再生することもできます。
以下は、サンプルスクリプトになります。

fname = dir_cur+"\\test.swf"
axobj obj,"ShockwaveFlash.ShockwaveFlash",640,480
obj->"LoadMovie" 0, fname
obj->"Play"

スクリプトで指定している、「test.swf」がファイル名に
なります。適当なswfファイルで試してみるといいでしょう。
この方法であれば、FLASHファイルに含まれる情報の取得や、
任意の再生コントロールを行なうことができます。


<せんしゅう さんからのおたより>

いつもHSPTV!メルマガを楽しく読ませていただいております。
今回テキストファイルを読み込むnotesel の命令を教えて
頂いたのですが、どうした環境からか、MEや98SEでは読めるのに、
XPやウィンドウズ2000では読めずにシステムエラーになる・・・。
っていうことがありました。
9x系とNT系では、何か違いがあるのでしょうか??

<こたえ>

9x系とNT系(2000やXP以降)は、基本的に同様の動作をしますが、
内部の仕組みはかなり異なっています。noteselなど、HSPの命令が
OSによって違う動作をすることはないように作成していますが、
内部の仕組みにより微妙に結果が変わることはありえます。
NT系では、メモリの管理が厳密になっていて、9x系では見逃して
いるようなエラーを報告してきます。
具体的には何とも言えませんが、管理されていないメモリ領域へ
アクセスするなど想定外の処理を行なったのではないでしょうか。
原因がわかる形で短いスクリプトにまとめられたら、また送って
もらえれば詳しいことがわかるかもしれません。

それでは、またまた。HSPに限らず、PCのコトや
プログラミング関係どんなことでもお便り待っていますね。

(おにたま)

投稿者 usuaji : 2007年02月20日 22:55

口臭チェッカー市場