[トップ][編集][ノート][編集履歴][一覧][最近の更新][->English]

HSPのFAQ:EXEにすると正常に動作しなくなる


概要

スクリプトエディタから(スクリプトソースから直接)実行した場合は正常に動作するのにEXEファイルにすると動作が不安定になるなど正常に動作しないことがある。
または、フォルダを変更すると同様の症状が発生することがある。

対象

  • HSP2.xx
  • HSP3.xx

原因や対策1

ほとんどの場合、HSPのFAQ:EXEにすると起動できないとほぼ同じ原因によるものであることが多いので参考にしてください。 また、カレントディレクトリを移動することによって誤動作を起こすこともあります。

原因や対策2

  1. EXEにするときに画像ファイルなどをPACKFILEに含めなかった
  2. PACKFILEに含むことのできない(含んでも無効な)ファイルをパッキングしている
  3. (上記の場合に、)それらのファイルを指定のフォルダに置いていない

などが考えられます。 パッキング時に無効なファイルとしてはDLL(HSP拡張ランタイム及び一般DLL)の他、MIDIや動画ファイルなどがあります。 詳細は別途調べてください。 PACKFILEはディレクトリ(フォルダ)階層を記録できないのでサブディレクトリを掘ってあると誤動作の原因になることがありますのでご注意下さい(*1)。
EXEのあるディレクトリにDLLファイル, 画像ファイルなど及び開発中のディレクトリと(サブディレクトリまで)同一のフォルダ構造にしてみると動作するようならまず、上記のどれかです。

原因や対策3

その他の原因不明の問題です。
HSP自体の不具合から環境依存の問題など比較的広範囲の原因が考えられます。 この場合、掲示板に再現手順などをできるだけ正確に報告してください。

注釈

  • (*1)
    デバッグ(スクリプトソースで実行)中はサブディレクトリに存在しているので動作するがPACKFILEにするとPACKFILE内のファイルはカレントディレクトリに存在することになるのでファイルがないというエラーになります。