kmiya-culti / RLogin

RLoginは、Windows上で動作するターミナルソフトです
http://nanno.bf1.jp/softlib/man/rlogin/
MIT License
464 stars 16 forks source link

スクリプトの実行で、スクリプトファイルを開いていると実行できない。 #81

Closed miffy closed 2 years ago

miffy commented 2 years ago

仕様なのかもしれませんが改善要望です。スクリプトファイルを実行するときに、該当スクリプトファイルを別のアプリケーションで開いていると実行できません。開発環境等でエディタでファイルを開いているから実行できないということは稀なので、スクリプトファイルを開いていても実行できるようにしておいたほうがいいと思います。いちいち開いて変更して閉じて実行というのは、実行環境としてはしんどすぎるので是非直しておいて欲しいところです。

kmiya-culti commented 2 years ago

RLogin上では、ファイルオープン時にデフォルトのshareExclusiveでロックして読み込んでいますが、読み込みオープンが出来ないのは、別アプリでそのファイルがshareDenyReadされている為だと思います。ロックされたファイルを読み込み側で無視は、出来ないはずです。

Scriptファイルオープン時に何もエラー表示していなかったのでバージョン2.26.4からエラー表示するようにしました。

miffy commented 2 years ago

細かいWindowsのアプリことはわからないんですが、別アプリというのがサクラエディタで、開発時にソースファイルを開いたままでもコンパイルとか実行とかできていたので、排他制御が効いているとは思えないのです。ファイルを開く時、書き込み権限を入れて開こうとしているとかありませんか? 普通であれば読み込みというか内容の参照だけはできるのが普通なんですが、できないのであれば諦めます。

kmiya-culti commented 2 years ago

実験してみました。

ロックされたファイルを読み込み側で無視は、出来ないはずです が間違いで相手がshareDenyWriteの場合は、shareDenyNoneの指定でオープン出来ました。

勉強になりました。次回バージョンで変更しようと思います。

miffy commented 2 years ago

ありがとうございます。今度手元のものをバージョンアップしてガリガリスクリプトを試行錯誤して書いてみます。