モジュールの仕様
 
モジュールには「通常モジュール」と「機能拡張モジュール」があり、それぞれクリエータをXTM1/XTM2に変更したスタックが使用されます。この2つの違いは、簡単に言ってしまえば「実行時のみ」か「常駐」かの違いであるとも言えるでしょう。
 
なお、当然ながら機能拡張モジュールを入れ過ぎると、それぞれの起動用スクリプトを実行していくことになりますので、起動・終了などが極端に遅くなります。どうしても必要なもの以外はすべて通常モジュールで済ませることを推奨します(通常モジュールは、たとえ30個も40個も導入したところでほとんど速度に影響しません)。
 

モジュールの骨組みスクリプト

 
モジュール内のハンドラの骨組みとその説明を示します。
[XTM1]=通常モジュール [XTM2]=機能拡張モジュール
[RegistOnly] = XT_RegistMessageで指定しないと使用不可

また、この骨組みがすでにできあがっている開発者用キットはここから入手できます。

2.1系からAboutThisModule/ExecModule以外のXTM2特有モジュールの第1パラメータにはすべてモジュール参照番号が渡されるようになりました。

XT_AboutThisModuleハンドラ[XTM1][XTM2]
XT内で使用するモジュール情報を設定します。
on XT_AboutThisModule
 --モジュール情報 "設定必要,機能拡張,バージョン,作成者"
 put "true,true,1.02,PONAPALT-Factory" & return into A
 --モジュールの説明
 put "コンテクストメニューを実現するモジュールです。" after A
 return A
end XT_AboutThisModule
 
XT_ExecModuleハンドラ[XTM1][XTM2]
Moduleメニューからモジュールを選んだときに実行されます。通常メインのスクリプトはここに書く、もしくはここから呼び出すことになります。
on XT_ExecModule
 --Moduleメニューからモジュールを選んだときに実行されます。
end XT_ExecModule
 
XT_StartModuleハンドラ[XTM2]
XTの起動時にそれぞれのモジュールで実行する初期化/起動用スクリプトをここに書いてください。また、パラメータとして1つ"ModNo"が渡されますが、これは機能拡張モジュール用の管理番号で、XT_DisableModuleを実行する時に必ず必要となりますので中身は絶対に書き換えないで下さい。
on XT_StartModule refnum
 --XT起動時/再起動時に実行されます。
 --refnumはモジュール管理番号。XT_DisableModule/RegistMessage実行時には
 --XT_DisableModule refnumというふうにこの番号を渡してください。
end XT_Startmodule
 
XT_ResetModuleMenuハンドラ[XTM2]
reset MenuBar時に呼ばれます。
on XT_ResetModuleMenu refnum
 --reset MenuBar実行時に実行されます。
 --ここからメニュー作成スクリプトを呼んでおかないと
 --reset時にモジュールの独自のメニューが消えてしまいます。
end XT_ResetModuleMenu
 
XT_StopModuleハンドラ[XTM2]
XTの終了時に実行されます。設定の保存などのスクリプトを書いておくところになります。
on XT_StopModule refnum,isQuit
 --XT終了時/再起動時に実行されます。
 --isQuitはHyperCardの終了時に呼ばれたかどうかを示します。
end XT_Stopmodule
 
XT_NewStack/NewBackground/NewCard[XTM2][RegistOnly]
それぞれ新規スタック、バックグラウンド、カード実行時に送られます。
XT_RegistMessage refnum,"NewStack"等を実行して使用してください。
 
 

Return : XT トップページ