« 【講座】HSPたまひよ塾 - 第9回「画像を表示してみよう」 | メイン | 【講座】HSPよく使うフレーズ 第5回 ゲームっぽいキー入力2 »
2006年04月08日
【講座】「教えて!おにたま!!」
<聡さんからのおたより>
今HSPでプログラミングをしているのですが、本に、
「#pack命令を使えばファイルを1つにまとめられる」と書いてあったの
で、DLLと、LZHファイルをパックしたのですが、2つとも呼び出すことが
できません。
そして、そのファイルをプログラムと同じフォルダに置くとうまく実行し
ます。
<こたえ>
「教えて!おにたま!!」へのお便りありがとうございます(^^
#pack命令は、実行ファイルの中に指定したファイルを埋め込んで使用す
るためのものですが、いくつか制約事項があります。
結論から言ってしまうと、残念ながらDLLやLZHファイルは埋め込んで使用
することができません。#pack命令で指定できるファイルと指定できない
ファイルの違いは何なのか、少しだけ説明してみたいと思います。
HSPで作成された実行ファイルの中身は、HSPのスクリプトからbload命令
やpicload命令などにより見ることができます。これらの機能は、HSPその
もののシステム(ランタイム)によって実現されています。
その一方、dllやexeといったファイルはWindowsのシステムそのものが持
つシステムによって操作され、HSPのシステム自身では扱うことができま
せん。
Windowsのシステムが読み込むことのできるファイルは、エクスプロー
ラー等で表示される通常のファイルだけで、HSPの実行ファイルに埋まっ
ているものは認識してくれません。テキストエディタに音声ファイルを読
み込ませるようなもので、フォーマットが一致せず開けないわけです。
このような制約から、システム側で扱っているファイルは#packで指定す
ることができません。具体的には、dllやexe、scrといったコードが含ま
れるファイル、midやmp3などMCIで演奏される音楽ファイル、さらに外部
のツールで開かれるファイル全般ということになります。
それでは、またまた。
HSPに限らず、PCのコトやプログラミング関係どんなことでもお便り
待っていますよ。
(おにたま)
投稿者 usuaji : 2006年04月08日 14:24
口臭チェッカー市場