filelock

開いているファイルをロックする。(バージョン4.74以降)

filelock <file handle> [<timeout>]

解説

すでに開いているファイルハンドル <file handle> を指定すると、ファイル全体をロックする。 ロック中、他のプロセスからの当該ファイルへのアクセスはエラーとなる。
引数 <timeout> の意味については下記のとおり。

<timeout> 説明
0 ファイルがすでにロックされていたら、即座にエラーを返す。
省略 ファイルがすでにロックされていたら、解除されるまで無限に待つ。
Value ファイルがすでにロックされていたら、解除されるまで最大 Value 秒待つ。タイムアウトしたらエラーを返す。

ロックに成功するとシステム変数 result が 0 に、失敗すると 1 となる。

fileopen fhandle 'test.txt' 0
filelock fhandle
if result!=0 then
	messagebox 'error' 'hoge'
endif
filewrite fhandle 'sample'
pause 60
fileunlock fhandle
if result!=0 then
	messagebox 'error' 'hoge'
endif
fileclose fhandle

参照