#0
by Serg_1960
Как разрулить ситуацию (например: обмен данными через каталог) когда одна программа ещё пишет файл, а другая пытается его уже читать? Реализовал через попытку - но не нравится такой вариант...
#2
by Serg_1960
А как с семафором работать? Его ведь тоже "сбрасывать" надобно? Старая песня на новый лад... :(
#5
by H A D G E H O G s
Могу внешку написать. Там строго - если для файла есть дескриптор на запись - значит кто-то пишет. А может и не пишет, но имеет желание записать..
#6
by vde69
тогда уж лучше через блокировку решать, дискриптр далеко не всегда найдешь :) кстати через блокировку можно организавать очередь к файлу от разных процессов, примерно так я себе в блокировке пользователей делал, удобно!
#7
by shuhard
[Его ведь тоже "сбрасывать" надобно] дык писатель семафор записал читатель семафор удалил фокус в том, что файл нулевой длины и блокировка не возникает
#9
by H A D G E H O G s
Можно вообще гадость сделать: сделать DuplicateHandle с закрытием дескриптора источника и закрыть скопированный дескриптор через CloseHandle. Винда сбросит кэш на диск, (возможно)пишущее приложение жесктоко обламается..
#10
by vde69
дискриптр это указатель на буфер обмена в памяти компа, интересно как ты найдешь мой дисктриптр файла замапеного диска если я к нему подключусь с удалеленной машины через скрытую шару, да и если там система far16
#11
by H A D G E H O G s
<<дискриптр это указатель на буфер обмена>> Нифига подобного. Это идентификатор объекта Винды. Если ты подключаешься удаленно, то владельцем дескриптора будет процесс csrss.exe (вроде бы он), только и всего.
#12
by H A D G E H O G s
<<да и если там система far16>> FAT16 слышал, far16 - нет. Это разные вещи?
#16
by vde69
fat16 (опечатка) удаленное файловое хранилище может быть вообще на линухе или вообще с использованием внешнего ftp хранилища, или еще на чем, а диск замаплен, по этому дискриптр ты вряд-ли найдешь если файл открыт на чужей машинке. а вот блокировка - она работает практически везде :) хотя конечно я могу ошибатся!
#17
by Serg_1960
Спасибо всем. Попробую и файл-семафор и дескрипторы. С файлом-семафором есть первые мысли: файл-светофор с изменяемым наименованием. Его ведь даже не надо читать перед началом работы первой программы: достаточно проверить, что он существует... надо еще раз всё обдумать... Всем спасибо :)
#20
by Wehrmacht
Ты серьезно собрался искать "дисктриптр файла замапеного диска если я к нему подключусь с удалеленной машины через скрытую шару, да и если там система far16" на флешке?!
#22
by Serg_1960
Сорри, для меня - не вариант. Транспорт файлов через инет с докачкой - отдельная программа.
#23
by Serg_1960
Невнятно как-то сказал, сорри :( Обе программы имеют доступ к каталогу обмена, но основной файл отдельной, сторонней программой передается для надежности доставки.
#24
by vde69
чем тебе не подходит? там задейстован транкзационный механизм, гарантия просто офигительная, кроме того перед отправкой в таблицу пишется общий размер (можно и CRC до кучи писать) и при чтении проверять....
#25
by Икогнито
В конец файла добавь строчку типа "&END". По наличию этой строки суди о том, записался файл до конца или не записался.
#27
by Serg_1960
С Вашей разработкой знаком. Всем подходит и устраивает. Вот только политика безопасности, блин, понимаешь... Есть реализованный, одобренный "сверху", механизм обмена информацией между филиалами организации - я под него "подстраиваюсь".
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как проверить скопирован ли документ?
- Как проверить значение перечисления в запросе?
- Не удалось проверить целостность app-sentx, код возврата -1073741819
- проверить товар на вхождение в список
- Копирование папок номенклатуры в 7.7()Т+С
- Помогите прописать в *bat копирование файла
- Как можно отследить копирование файла с сервера?
- Ошибка открытия файла: Чтение данных из файла обмена завершено с ошибками!
В этой группе 1С
- Возможность одновременно работать в документе нескольким пользователям.
- Справка о среднем заработке
- УПП: Перенос данных за год из одной УПП в другую
- УПП выплата задепонированной з/п через банк
- УПП Обнаружена отрицательная сумма затрат на выпуск продукции. Как найти?
- Как получить все значения периодического реквизита справочника?
- ЗУП Ошибка при проведении документа "Запись с такими ключевыми полями существует"
- Дополнение карточки депонента
- К какой позиции ОКОФ нужно относить сетевое хранилище на 6-ти дисках ?
- Ole 1С8 с 1С77 использование функций глобального модуля 7ки?
- ActiveX для работы с сокетами
- График работы охраны 12 день 12 ночь 2 дома
- УПП 1.2.17 док "Расчеты по налогу на прибыль" не закрыл 68.04.2 (сальдо 1 копейка)
- Возможен ли фильтр по колонке итога в запросе?
- v7: Не завершена сложная проводка
- v7: Как удалить из меню "Сервис" в Бухии пункт "Параметры пользователя"?
- Поделитесь люди добрые Торг-2 ТиС 7.7
- ЗУП Оплата труда охранникам
- Как перенести кучу папок с их содержимым?
- Использование слоев в 1С 7.7.