prefs の拡張仕様 ================ GetPrefsNTEncoding ------------------ :GetPrefsNTEncoding(prefs, opts) の引数 opts で frame が使えるように なりました。以下の slot が使用できます。 defaultEncoding: '|binary.base64|, // デフォルトの classSymbol path: 'binaryEncoding, // classSymbol の登録されている path // 省略時は 'defaultEncoding ValidTest: func(def)..., // 使える def かどうかをチェックします 引数 opts が symbol の場合は NTEncoding 1.1 と同じように defaultEncoding として処理されます。完全上位互換なので特に昔のソースを変更する必要はあり ません。 ・path slot は1つの prefs に複数のエンコーディングの設定を保存したい 場合に有効である。これにより複数の設定をしたいのだけど、エレガントに それを実現する方法がないと悩む必要はなくなる(エレガントでなければ今 まででも可能であった)。 なお、これは prefs のアクセスの部分だけなので、 prefs の設定画面は開 発者が自分で作成すること。 ・ValidTest slot はモジュールが自分のプログラムで使うための充分な仕様を 満たしているかどうかチェックするのに有効である。具体的な例としては、 今回 NTEncoding 1.1 で拡張された MIME 関連の method がサポートされて いるかどうかである。 ex. ValidTest: func(def) isFunction(def.MIME_CurrEncodingType), こうしておけば、間違って MIME 関連に対応していないモジュールがインス トールされていても無視されるだけなので安全なプログラムを記述すること ができる。 NTE_protoPrefsItem, NTE_protoPrefsRollItem ------------------------------------------ VersionCheck: func(def)... をサポートしました(省略可)。 返り値は nil or message (String) でなければいけません。 返り値がある場合は右下に表示されます。 ex. VersionCheck: func(def) if not isFunction(def.MIME_CurrEncodingType) then "old", インストールされているモジュールが利用可能かどうかをユーザに明示する ために利用します。 --- (c)1997 GNUE.