外部Editorでの修正後の読み込み


Yama  2006-07-06 00:23:06  No: 22427  IP: 192.*.*.*

こんにちわ  教えてください。
Memo, RichEditなどでテキストを作成後、別のボタンで下記の操作を行います。
1.SaveToFileで保存。
2.ShellExecuteで外部Editorを起動し、そのテキストを修正後保存、終了。
3.この後、元のMemoのLoadFromFileでそのテキストを読み込んでも、外部Editorの修正が反映されません。  この外部Editorの修正をDelphiのMemoなどへ反映させる方法を教えてください。

また、外部Editorでの修正後、上書き保存のみでEditorを修正しない場合、この操作を検出する方法があれば、こちら教えてください。
よろしくお願いします。

編集 削除
Fusa  2006-07-06 00:47:52  No: 22428  IP: 192.*.*.*

>3.この後、元のMemoのLoadFromFileでそのテキストを読み込んでも、外部Editorの修正が反映されません。

1.2.3.の方法で、書いてある通りのことを
ちゃんと行っているなら、
うまくいきますよ。

ということで、どこかにバグが潜んでいるだけでしょうから
> この外部Editorの修正をDelphiのMemoなどへ反映させる方法を教えてください。
教えられないでしょ。

> また、外部Editorでの修正後、上書き保存のみでEditorを修正しない場合、この操作を検出する方法があれば、こちら教えてください。
よろしくお願いします。

一時的なファイルを保存した日時を控えておき、
タイマーで監視して、その日付が更新されたら
ファイルが上書き保存された、ってことが検出できます。

DelphiのIDEのエディタは
タイマーではなくActiveになった時に判定しているようですが
そのような動作になっています。

編集 削除
ん?  2006-07-06 10:13:26  No: 22429  IP: 192.*.*.*

> この操作を検出する方法

ファイル・フォルダの変更監視
(ネットワークドライブ上では無理だったはず)
FindFirstChangeNotification
https://www.petitmonte.com/bbs/answers?question_id=729

http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_findfirstchangenotification.htm

一時ファイルなら、Tempフォルダに作るようにしておけば、大丈夫じゃろう。

編集 削除
Yama  2006-07-07 20:20:40  No: 22430  IP: 192.*.*.*

情報ありがとうございます。
もう少しいろいろ試してみます。

編集 削除