排他制御+envchangedNo.08133
ひろ さん 01/03/23 20:35
 
 秀丸担当さん今日は、ひろです。
 早速ですが、
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
#Timestamp = getregnum("Timestamp");
#Sharing = getregnum("Sharing");
#DupOpen = getregnum("DupOpen");
writeregnum "Sharing",0;
writeregnum "DupOpen",0;
writeregnum "Timestamp",0;
closereg;
envchanged;
runsync2 "Notepad.exe " + filename2;
reopen;
//endmacro;
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
writeregnum "Sharing",#Sharing;
writeregnum "DupOpen",#DupOpen;
writeregnum "Timestamp",#Timestamp;
closereg;
というマクロを排他制御を ON の状態で実行すると、メモ帳での編集後保存
が出来ません。一旦 envchanged で設定を変更しているので、保存できるは
ずなのですが、原因は一体何故でしょう? コメントは外して実行後確認する
と、確かに炊いた制御は OFF になっているのですが、...。

[ ]
RE:08133 排他制御+envchangedNo.08134
える さん 01/03/23 20:45
 
>というマクロを排他制御を ON の状態で実行すると、メモ帳での編集後保存
>が出来ません。

秀丸はファイルオブジェクトの排他制御機能を使っているので、排他制御機構の設定
を変更した場合、「変更後に開いたファイル」にのみ変更が適用されます。
envchanged; で排他制御モードが更新されていてもそこで reopen(?) などを行って
ファイルを開きなおさないとダメでしょう。

[ ]
RE:08134 レジストリの再評価とは、違うかNo.08135
番頭++ さん 01/03/23 22:34
 
envchanged; は「秀丸」が認識した環境の変更を「同期」させる、
レジストリの再評価とは、違うかも ...

[ ]
RE:08134 排他制御+envchangedNo.08138
ひろ さん 01/03/24 01:03
 
 えるさん今日は、ひろです。
> envchanged; で排他制御モードが更新されていてもそこで reopen(?) などを行って
 確かにこれで対処できました。有り難うございました。

[ ]