排他制御No.29433
saki さん 11/01/28 11:21
 
お世話になっております。

排他制御で、上書きのみ禁止する場合に、
ファイルを開く時ではなく編集を開始しようとするときに
排他制御を開始することはできないものでしょうか?

何をしたいかというと、秀丸エディタでまずファイルを開いて、
そこからマクロでいろんなツールを起動したりしてるのですが、
そのときには排他制御があると邪魔になるのです。

ただし他の場面では排他制御を使いたい場面もあるのです。

で、上に書いたことができると、すっきり収まりそうなのですが。

よろしくお願いします。

[ ]
RE:29433 排他制御No.29434
秀丸担当 さん 11/01/28 12:08
 

>排他制御で、上書きのみ禁止する場合に、
>ファイルを開く時ではなく編集を開始しようとするときに
>排他制御を開始することはできないものでしょうか?

要望ありがとうございます。
現状ではファイルの排他制御は動作環境という位置づけになっていて、全ての秀
丸エディタで設定したものが共通になっています。
現状でやるとしたら、少し遅いですが動作環境を一時的に書き換える方法で、以
下のようなマクロを実行して再読込みするとできるかもしれません。

  openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
  #org = getregnum( "Sharing" );
  writeregnum "Sharing", 1; //上書きのみ禁止
  closereg;
  envchanged;
 
  reopen; //再読込み
 
  openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
  writeregnum "Sharing", #org; //元の設定に戻す
  closereg;
  envchanged;


排他制御の別の設定の「秀丸エディタで同じファイルを開く場合」のほうは、起
動オプションやマクロのsetcompatiblemodeで一時的にすぐ変更する方法もあるの
で、それと同じような方法ですぐ変更できる方法もあったらいいかもしれません。
今後のネタにさせていただきます。

[ ]
RE:29434 排他制御No.29435
saki さん 11/01/28 12:34
 
試してみます。

>すぐ変更できる方法もあったらいいかもしれません。
>今後のネタにさせていただきます。

よろしくお願いします。

[ ]
RE:29435 排他制御No.29436
saki さん 11/01/28 12:52
 
できました。素晴らしい!
応答も(ファイルがそんなに大きくないので)問題ありません。
ありがとうございました。

[ ]