こんにちわ 教えてください。
Memo, RichEditなどでテキストを作成後、別のボタンで下記の操作を行います。
1.SaveToFileで保存。
2.ShellExecuteで外部Editorを起動し、そのテキストを修正後保存、終了。
3.この後、元のMemoのLoadFromFileでそのテキストを読み込んでも、外部Editorの修正が反映されません。 この外部Editorの修正をDelphiのMemoなどへ反映させる方法を教えてください。
また、外部Editorでの修正後、上書き保存のみでEditorを修正しない場合、この操作を検出する方法があれば、こちら教えてください。
よろしくお願いします。
>3.この後、元のMemoのLoadFromFileでそのテキストを読み込んでも、外部Editorの修正が反映されません。
1.2.3.の方法で、書いてある通りのことを
ちゃんと行っているなら、
うまくいきますよ。
ということで、どこかにバグが潜んでいるだけでしょうから
> この外部Editorの修正をDelphiのMemoなどへ反映させる方法を教えてください。
教えられないでしょ。
> また、外部Editorでの修正後、上書き保存のみでEditorを修正しない場合、この操作を検出する方法があれば、こちら教えてください。
よろしくお願いします。
一時的なファイルを保存した日時を控えておき、
タイマーで監視して、その日付が更新されたら
ファイルが上書き保存された、ってことが検出できます。
DelphiのIDEのエディタは
タイマーではなくActiveになった時に判定しているようですが
そのような動作になっています。
> この操作を検出する方法
ファイル・フォルダの変更監視
(ネットワークドライブ上では無理だったはず)
FindFirstChangeNotification
https://www.petitmonte.com/bbs/answers?question_id=729
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_findfirstchangenotification.htm
一時ファイルなら、Tempフォルダに作るようにしておけば、大丈夫じゃろう。
情報ありがとうございます。
もう少しいろいろ試してみます。