madf 279 Posted 2007-12-11 18:04:40 Share Posted 2007-12-11 18:04:40 Когда Вы прибиваете конфигуратор в процессе работы (приема данных) один конец сокета аварийно отваливается - отсюда и SIGPIPE. В следующей версии конфигуратора параллельные запросы буду блокироваться программно (на уровне мьютексов или еще как - пока не решено). Возможно, NETTRANSACT станет синглтоном. Link to post Share on other sites
vovksextra 0 Posted 2007-12-11 18:48:06 Share Posted 2007-12-11 18:48:06 Во время непосредственного обновления достаточно сделать кнопки для работы с пользователем (Новый,Редактировать,Удалить) просто неактивными. И при открытии окна редактирования - таймер для автообновления - отключать Что-то типа того. Link to post Share on other sites
napTu 4 Posted 2007-12-11 19:00:19 Share Posted 2007-12-11 19:00:19 Дык автообновлением мы уже давно не пользуемся, еще как пользователей под сотню стало. А теперь ведь в последней версии конфигуратора обновление запускается после вызова и закрытия окна редактирования юзера. При этом не делается разницы ОК нажат или ОТМЕНА. Давно меня мучает вопрос: зачем перегружать базу пользователей, если при редактировании пользователя и так известны параметры которые обновились - просто внести их в текущее отображение базы в конфигураторе и все дела. Правда при этом отпадает многопользовательский режим, но ведь это можно сделать и опционально. Link to post Share on other sites
napTu 4 Posted 2007-12-12 12:57:39 Share Posted 2007-12-12 12:57:39 сил больше нет. скажите где поменять в сырцах конфигуратора, чтобы он не обновлялся после закрывания окна редактирования пользователя??? Link to post Share on other sites
madf 279 Posted 2007-12-12 13:34:24 Share Posted 2007-12-12 13:34:24 Думаю, будет достаточно закоментировать REFRESH_ENABLER в соответствующих методах. Link to post Share on other sites
napTu 4 Posted 2007-12-12 14:11:50 Share Posted 2007-12-12 14:11:50 я пока закоментирую строчку WriteServLog("Broken pipe!"); в main.cpp в каждом посте повторяю что мне нужно выключить не автообновление по таймеру, а автообновление после закрытия окна редактирования пользователя. оно само по себе запускается. refresh_enaber в свою очередь есть только в mainunit.cpp и запускает обновление по таймеру. Link to post Share on other sites
madf 279 Posted 2007-12-12 17:20:05 Share Posted 2007-12-12 17:20:05 Так, стоп. Проверил. На версии 1.88.9. Никто ничего не обновляет после изменения пользователя. Пока не нажмешь "обновить". Что я делаю не так? Может, у Вас другая версия? Link to post Share on other sites
vovksextra 0 Posted 2007-12-12 22:04:20 Share Posted 2007-12-12 22:04:20 Жми обновить список затем очень быстро пока в статусе бегает прогресс бар открывай любого юзера и добавь ему любую сумму Link to post Share on other sites
madf 279 Posted 2007-12-12 22:49:01 Share Posted 2007-12-12 22:49:01 Нет, это понятно. Тут даже, в принципе, есть намеки на то, откуда берется SIGPIPE. Но товарищ говорит о том, что список обновляется после каждого изменения пользователя. А этого не может быть. Link to post Share on other sites
vovksextra 0 Posted 2007-12-12 23:27:13 Share Posted 2007-12-12 23:27:13 Да действительно по коду такого не может быть, может у него просто совпадение. Link to post Share on other sites
napTu 4 Posted 2007-12-13 12:16:49 Share Posted 2007-12-13 12:16:49 Да, извиняюсь. Оказалось я пользовался всё это время модифицированной версией конфигуратора 1.88.9, скачанной с http://v-lan.ru/projects/stargazer-2.4. В стандартной версии, к моему счастью, такого не происходит. Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now