Refreshメソッド拡張の要望No.02109
Roka さん 11/10/21 10:36
 
Refreshメソッドにカレントフォルダのみを更新するパラメータを追加していただき
たいと思っています。
スクリプトでRefreshを使用するとカレントフォルダ以外が折りたたまれてしまうの
でちょっと不便です。

[ ]
RE:02109 Refreshメソッド拡張の要望No.02112
秀丸担当 さん 11/10/21 10:53
 

>Refreshメソッドにカレントフォルダのみを更新するパラメータを追加していただき
>たいと思っています。
>スクリプトでRefreshを使用するとカレントフォルダ以外が折りたたまれてしまうの
>でちょっと不便です。

「最新の情報に更新」コマンドが、フォーカスのある部分だけになるのがおかし
いという話があって、このコマンド自体はV1.01β13ツリーも含めて更新という
挙動に変更になりました。
Refreshメソッドもこのコマンドに相当するものになっています。

それに伴って、「最新の情報に更新(フォーカス)」というコマンドが追加されて、
このコマンドはツリーは更新せずフォーカスのあるファイル一覧のみを更新する
ようになっています。
スクリプトとしては、「js:Command("最新の情報に更新(フォーカス)");」がこ
のコマンドに相当します。

フォーカスというのも状況によって違うので、やはりRefreshメソッドでは明示
的に指定する方法もあったらいいと思います。そういうネタにさせていただきま
す。

[ ]
RE:02112 Refreshメソッド拡張の要望No.02114
Roka さん 11/10/21 11:13
 
>それに伴って、「最新の情報に更新(フォーカス)」というコマンドが追加されて、
>このコマンドはツリーは更新せずフォーカスのあるファイル一覧のみを更新する
>ようになっています。
>スクリプトとしては、「js:Command("最新の情報に更新(フォーカス)");」がこ
>のコマンドに相当します。

スクリプトで「最新の情報に更新(フォーカス)」を試してみたのですが他のフォルダ
が折りたたまれてしまいます。

>
>フォーカスというのも状況によって違うので、やはりRefreshメソッドでは明示
>的に指定する方法もあったらいいと思います。そういうネタにさせていただきま
>す。

よろしくお願いします。

[ ]
RE:02114 Refreshメソッド拡張の要望No.02115
Roka さん 11/10/21 11:19
 
>
>スクリプトで「最新の情報に更新(フォーカス)」を試してみたのですが他のフォル
>ダが折りたたまれてしまいます。
>

フォーカスがフォルダツリーにある場合でした。ファイル一覧にある場合は大丈夫で
す。
たぶん仕様ですね?


[ ]
RE:02115 Refreshメソッド拡張の要望No.02119
秀丸担当 さん 11/10/21 13:25
 

>フォーカスがフォルダツリーにある場合でした。ファイル一覧にある場合は大丈夫で
>す。
>たぶん仕様ですね?

このコマンドについては言われている通りで、そういう仕様になっています。
明示的に指定する方法はまた別の方法で考えていきたいと思います。

[ ]
RE:02119 Refreshメソッド拡張の要望No.02227
Roka さん 11/11/14 16:00
 
現在以下のようなファイルを複製するスクリプトを使用しています。
Copy
Paste
Refresh
SelectItem 「Pasteで作成されたファイル名」
Command "名前の変更"
これで問題なく動作しているのですが、Refreshでフォルダツリーが閉じてしまうので
Refreshを「Command "最新の情報に更新(フォーカス)"」に変更したところ
直後にSleepを入れないとSelectItemが正しく動作しなくなりました。
Refreshは更新が実行されれてから返るようなウェイトが入っているのでしょうか?
Sleepのパラメータは場合によっては間に合わない可能性があると思うので
"最新の情報に更新(フォーカス)"に相当するRefreshがやはり必要です。

[ ]
RE:02227 Refreshメソッド拡張の要望No.02228
秀丸担当 さん 11/11/14 17:09
 

確かにRefreshメソッドはスクリプトとして成り立つように非同期的な処理があ
る場合は完了するのを待つようにしてあります。

Sleepメソッドを使われているということですが、公開されていないですが、確
かに秀丸ファイラーの独自メソッドとしてあります。
あと非公開のものとして、Busyというプロパティもあります。
非同期的な処理が処理中であるかどうかを表します。

これを使ってjsの例では

  while(1){
    if(Busy==0)break;
    Sleep(1);
  }

という感じにして非同期的な処理が完了するのを待つ方法があります。
ヘルプにも書いておきます。
Refreshメソッドとしてもそういう指定ができたらいいといことでネタにさせて
いただきます。

[ ]
RE:02228 Refreshメソッド拡張の要望No.02246
Roka さん 11/11/17 21:41
 
>Refreshメソッドとしてもそういう指定ができたらいいといことでネタにさせて
>いただきます。

Refreshメソッドの拡張ありがとうございました。

[ ]