〜 スクリプト 〜
EXE作成 (要HSPCMP.DLL)

通常、標準のスクリプトエディタの機能である「EXEファイル作成」を選択すると、
正しい手順で行っている限り、実行ファイルを作成出来ますので、わざわざ書くまでのことではありません。
しかし、自作スクリプトエディタを作成する場合に、このEXE作成機能が使えないと、
最終的には標準エディタを使うこととなって、あまり価値のないものになりかねません。
HSPCMP.DLLに作成を行う命令が入っており簡単に呼び出せるので、その方法を書いておきましょう。
無事に作成できると、メッセージ「Make custom execute file [フルパス](バイト数)」が取得できます。
下記のサンプルを参考にしてみてはいかがでしょうか?
	
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include "hspcmp.as"

	sdim txt, 128, 2
	pack = "start.ax"
	pos  10, 10 : mes "使用ASファイル"
	pos 160, 10 : input txt, 200, 20
	pos 360, 10 : button "参照", *sansyou
	pos  10, 40 : button "作成", *making
	stop

*sansyou
	dialog "", 16, "使用ファイル"
	if stat : objprm 0, refstr
	stop

*making
	if txt = "" {
		dialog "ファイル名を指定してください。"
	} else {
		chdir exedir                // ランタイムのフォルダに移動
		strlen tmp, pack
		bsave "packfile", pack, tmp // PackFile作成
		hsc_ini txt                 // スクリプトファイル名を指定する
		hsc_objname pack            // デフォルト中間ファイル名を指定する
		hsc_comp 0                  // デバッグ情報を付加しない
		getpath tmp, txt, 9
		pack_ini tmp                // PACKFILEマネージャの初期化を行う
		pack_make 0                 // EXEに埋め込むDPM作成
		pack_exe 0                  // 標準モード(1:フルスクリーン 2:スクリーンセイバー)
		hsc_getmes txt.1            // HSPCMP.DLLからメッセージを受け取る
		dialog txt.1                // 結果を表示
	}
	stop
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "hspcmp.as"

	sdim txt, 128
	pack = "start.ax"
	pos  10, 10 : mes "使用ASファイル"
	pos 160, 10 : input txt, 200, 20
	pos 360, 10 : button gosub "参照", *sansyou
	pos  10, 40 : button gosub "作成", *making
	stop

*sansyou
	dialog "", 16, "使用ファイル"
	if stat : objprm 0, refstr
	return

*making
	if txt = "" {
		dialog "ファイル名を指定してください。"
	} else {
		chdir dir_exe                        // ランタイムのフォルダに移動
		bsave "packfile", pack, strlen(pack) // PackFile作成
		hsc_ini txt                          // スクリプトファイル名を指定する
		hsc_objname pack                     // デフォルト中間ファイル名を指定する
		hsc_comp 0                           // デバッグ情報を付加しない
		pack_ini getpath(txt, 9)             // PACKFILEマネージャの初期化を行う
		pack_make 0                          // EXEに埋め込むDPM作成
		pack_exe 0                           // 標準モード(1:フルスクリーン 2:スクリーンセイバー)
		dialog "作成しました。"
	}
	return