DELPHIで作業初めてまだ1週間ほどなのですが
現在htmlファイル(別アプリがリアルタイム更新)をCopyfileでテキストファイルに変更して、そのテキストファイルを使って作業するというプログラムを作成しております
タイミングの関係でしょうか、htmlファイルオープンエラーがでてしまいます
多分別アプリがhtmlファイル追加変更しようとしたときにCOPYFILEの作業をしていてエラーがでていると考えているのですが、何か対処方法はあるのでしょうか?
procedure TForm1.Button1Click(Sender: TObject);
var
Cnt: Integer;
fs: TFileStream;
begin
Cnt := 25;
while (Cnt > 0) do begin
try
fs := TFileStream.Create('Htmlふぁいるでなくとも.htm', fmOpenReadWrite);
MemoHtml.Lines.LoadFromStream(fs);
fs.Free;
Cnt := 0;
except
Dec(Cnt);
if (Cnt > 0) then begin
Sleep(200); Application.ProcessMessages;
end else begin
raise Exception.Create('5秒間試行したどもファイル開けんかったでぇ');
end;
end;
end;
end;
ファイル更新中にCopyFile
CopyFile中にファイル更新
どちらもエラーが発生する可能性があると思います。
1) ファイル更新
2) ファイル更新するアプリからCopyFileアプリにメッセージ送信
3) CopyFileするアプリ側でメッセージ受信中に CopyFile を行なう
のようにすると良いと思います
>>対処法?あるかなぁさん、KHE00221さん
返信ありがとうございます
書き方が悪かったみたいで勘違いさせてしまいました
ファイルを更新するアプリが外部アプリなのでこちらでは手を加えられないのです
ツイート | ![]() |