掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Delphi2005 でファイルの排他アクセス (ID:40581)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ServerとClientの2つのソフトがあります。 ここでServerが作成したファイルをClientがかなりの頻度で読込みを行うのですが ときどきプロセスが使用中ですとServerがWriteできない時があり困っています。 Server側[*]の所でわざとブレークさせている最中だと現象が確認しやすかったのでこれで実験しています。 このServerがブレーク中でもClientではファイルに読取専用でいいのでアクセスするにはどうしたらいいのでしょうか? Serverの「fmCreate or fmShareDenyWrite 」 Clientの「fmOpenRead」 の組み合わせではなぜだめなのでしょうか? <Server側処理> fs := TFileStream.Create(Str_InifileName, fmCreate or fmShareDenyWrite ); * Str := 'ABCD'; fs.Write(PChar(Str)^, Length(Str)); finally fs.Free; <Client側処理>一旦ロードし別ファイルに同じ内容を保存したいのです。 SF:=TFileStream.Create(Str_CommServerFilePath,fmOpenRead); sz:=SF.Size; getmem(buf,sz); SF.Read(buf^,sz); SF.Free; DF:=TFileStream.Create(Str_CopyFilePath,fmCreate); DF.Write(buf^,sz); DF.Free; freemem(buf);
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.