HSP!HSPのPACKFILE機能とは?Windowsプログラミング「HSP」(公式サイト「HSPTV!」)には、HSP製実行ファイルにファイルを埋め込む機能が用意されてます。「PACKFILE」(パックファイル)という機能です。3.x)では、PACKFILE機能を利用して埋め込みたいファイルを指定する方法が2つ用意されてます。上はHSP3で推奨されている方法で、下はHSP2時代からある旧式の方法です。ソースコード内でプリプロセッサ命令「#pack」or「#epack」を利用してファイルを指定。詳しくは実行ファイル作成のページ)HSPスクリプトエディタで[ツール]→[PACKFILE編集]からファイルを指定。HSPの実行ファイル作成の流れHSP(HSP3)で実行ファイル作成までの流れは下のような感じです。エディタの[ツール]→[EXEファイルの作成]PACKFILE機能の注意点さてさて、HSPがサポートするこの機能にはいろいろと制限があることをご存知ですか?1.ありとあらゆる"ファイル"を実行ファイル内に埋め込むことができる、が・・・たとえば、実行ファイル、拡張プラグイン(DLLファイル)、画像ファイル、音楽ファイル、動画ファイル、テキストファイル、な〜どなど何でもかんでもぜーんぶOK。「ファイルを埋め込むことができる」≠「ファイルを利用できる」であるということです。何でもかんでも埋め込んだファイルを利用できると勘違いする人がいるんです。実行ファイルの中に実行ファイルを埋め込むことはできます。実行ファイルの中に埋め込むことはできます。利用するのは100%ムリです。拡張プラグインは実行ファイルと同じフォルダに存在していないとダメです。HPIファイルを同封して公開します。実行ファイルの中に埋め込むことはできます。あれば直で利用できます。対応フォーマットはBMPファイル、GIFファイル、JPEGファイルです。・PNGファイルは、picload命令がそもそも対応してません。・「mod_img.as」モジュールのimgload命令はすべての画像形式でPACKFILE内は扱えません。PACKFILE内を読み込める画像ファイル関連のHSP拡張プラグインもあります。HSPの標準命令であるmmload命令であれば直で利用できます。フォーマットはWAVEファイルだけです。ディスク上にファイルとして存在していないとダメです。ハードディスク上にファイルとして存在していないとダメです。PACKFILE内を読み込める音楽ファイル関連の汎用ライブラリもあります。実行ファイルの中に埋め込むことはできます。AVIファイル、WMVファイルなどはすべてハードディスク上にファイルとして存在していないとダメ。2.PACKFILE(パックファイル)の中身を後から変更できない。新しいファイルがハードディスク上に出力されるか、すでに存在してるなら上書きされるだけです。削除するDelete命令も機能しないです。いじれたとしたら、そもそもシステム的に問題アリ・・・。出して削除できないのと同じです。プログラムのデータを残したい場合は、ファイルとしてハードディスク上に出力しましょう。データの簡単にチェックできないように、あるいは改変できないようにしたい場合は「暗号化」でGoogle検索&Yahoo!検索すーるする!3.PACKFILE(パックファイル)機能で埋め込めるファイル名は「8.3形式」。PACKFILE機能で埋め込めるファイル名には「8.3形式」の制限があり注意が必要です。簡単に言えば、日本語はダメ、長いファイル名はダメということです。HSPのPACKFILE機能に「フォルダ」(ディレクトリ)の概念はありません。