Phase.5 自動巡回エージェントで画像をダウンロードする(『スタパライフ』 Ver 1.10)

 Chapter.19 セットアップへ設定項目を追加する

 さて、いよいよスタパライフを画像表示に対応させるためにバージョンアップします。まずは、セットアップエージェントに、必要な設定項目を追加します。まだ実装されていないオプションは以下のものですね。

  1. 画像取得するかどうかの選択
  2. 使用するブラウザの選択
 というわけで、いずれも設定方法はon/offの操作になります。ブラウザの選択は、uniBroweserを使うかカスタムブラウザを使うかの選択ですし、両方ともにコントロールはチェックボックスを利用すれば良いでしょう。

設定項目 使用するオブジェクト 名前
画像取得するかどうかの選択 チェックボックス chkCollectionImage
使用するブラウザの選択 チェックボックス chkUseCustomBrowser

 以上のような情報をフォーム上に追加配置していくと……このようになりました。後は、開始時・終了時の処理に、新しく追加された設定項目に関する処理を追加しなければなりません。Ver 1.10の『スパタライフ』のセットアップエージェントの全ソースは、こちらをご覧下さい。



・レジストリィから設定情報の読み込み

 124:      chkUseCustomBrowser.Checked:=Leg.ReadBoolDef('/common/UseCustomBrowser',0);
 125:      chkCollectionImage.Checked:=Leg.ReadBoolDef('/common/CollectionImage',0);

 レジストリィから設定項目を読み取るところで、二つの項目を追加しています。開始時の処理への変更点はこれだけです。


・レジストリィへの設定情報の書き込み

  67:  Leg.WriteBool('/common/UseCustomBrowser',chkUseCustomBrowser.Checked);
  68:  Leg.WriteBool('/common/CollectionImage',chkCollectionImage.Checked);

 レジストリィへ設定項目を保存するところで、二つの項目を追加しています。


・ブラウザエージェントの設定

  86:    if chkUseCustomBrowser.Checked then begin
  87:      Item.PluginExecFileName:='stpl\stplBrowser.pas';
  88:    end else begin
  89:      Item.PluginExecFileName:='browser\unibrowser.pas';
  90:    end;
  91:    Item.PluginExecArg:='-H '+ txtURL.text +' -T スタパライフ stpl\stpl.mbx';

 『カスタムブラウザを使用するかどうか』の設定によって、『開く』エージェントのファイル名を変えています。画像表示可能な『stplBrowser.pas』はuniBrowserを流用するので、パラメタはどちらの場合でも共通です(openstpl.rxを使用するのをやめたので、パラメタは直接キャビネットアイテムのプロパティに持つ必要があります)。
 Ver 1.10のセットアップエージェントの変更は以上で終わりですが、実はこれだけだと不具合があります。ブラウザエージェントの設定が、キャビネットアイテムの追加時にしか行われないので、既に『スタパライフ』が登録された状態でブラウザを変更しても反映されないのです。この問題は、後にVer 1.11で修正されました。