ファイルか、ファイルの一部に、読み書きアクセスを制限します。
構文:
Lock #filenum, record
Lock #filenum, start To end
パラメタ:
filenum
ファイルを
Open するのに使ったファイル番号。
record
start
end
記述:
Lock は、通常、安全な書き出しをするために、ファイル、またはファイルの一部に、他のスレッドかプログラムがアクセスすることを、一時的に制限します。
データを変更した後、
Lock と同じパラメタで
Unlock を行うべきです。
注意:
このコマンドは、常に機能するわけではありません。文書化され、期待されるようには機能しません。現在、壊れているように見えます。
例:
'' 例えば、ファイルをロックして、100バイトを読んで、そして、ロック解除します。
'' 必ず、'file.txt'いう名前のファイルが、存在することを確認して動かして下さい。
'' ファイルは、現在のディレクトリにあって、少なくとも100バイト必要です。
Dim array(1 To 100) As Integer
Dim f As Integer, i As Integer
f = FreeFile
Open "file.txt" For Binary As #f
Lock #f, 1 To 100
For i = 1 To 100
Get #f, i, array
(i)
Next
Unlock #f, 1 To 100
Close #f
QBからの違い:
-
現在、FBは、黙示的にはファイル全体をロックできません。
-
Random モードで、FB は記録の範囲をロックできません。
参照: