Open VictorVG opened 9 years ago
Если не получим инструменты позволяющие отследить факт что внешний редактор сохранил файл (http://forum.farmanager.com/viewtopic.php?f=8&p=132241#p132241) к примеру тот же мьютекс или вызов API, то может поступить чуть иначе - периодически в фоновом потоке проверять факт изменения времени последней записи файла и сверять со временем передачи файла во внешний редактор. Логика - если время последней записи на сервере новее чем время передачи файла внешнему редактору, то скорее всего файл сохранён им и перезапись не требуется.
Получили поправку (http://forum.ru-board.com/topic.cgi?forum=5&topic=31718&start=7500#4) к описанию события, но думаю стоит рассмотреть и более общий вариант:
_Alexyz21_
_Victor_VG_ "О двойном сохранении (аплоаде) файла" Файл открывается не во внешнем редакторе, а в редакторе Фара.
Что-то не в тот лес грибники пошли :) Вот изначальный рапорт:
WinXPSP2, FAR3.0.4409, NetBox 2.1.43 (build 400) Заходим на ФТП, F4 на текстовом файле, редактируем, ESC, отвечаем - да, сохранить - NB заливает изменённый файл на ФТП дважды.
Т.е. 2-ой аплоад происходит при редактировании файла на ФТП сервере в редакторе Фара. Из лога, кстати, это видно - файл сначала закачивается во временную папку, а затем дважды аплоадится на ФТП сервер. Имхо это результат недавнего исправления несохранения файла при редактировании на сервере (на форуме фара обсуждалось). У меня та версия сохраняла нормально.
Вот с этим и возимся - http://forum.farmanager.com/viewtopic.php?f=8&p=132241#p132241 и это я обобщил ситуацию на случай если используемый не встроенный, а внешний по отношению к фар редактор умет сохранять данные по сети сам. Например IDM UltraEdit, IDM UEStudio, Visicom Media AceHTML, Allaire HomeSuite - любой из них это умеет и если используются такие редакторы, то нам надо самим отследить что они записали файл на сервер т.к. они не сообщают во внешнее приложение что произвели запись, хотя IDM и можно об этом "попросить" через их макросы, а Visicom/Allaire насколько помню нет.
Сообщение о наблюдении явления с http://forum.ru-board.com/topic.cgi?forum=5&topic=31718&start=7460#10:
_Alexyz21_
попросил выслать лог http://forum.ru-board.com/topic.cgi?forum=5&topic=31718&start=7449&limit=1&m=1#1 - похоже что буфер записи дважды скидывается (?):