madf Posted December 11, 2007 at 06:04 PM Posted December 11, 2007 at 06:04 PM Когда Вы прибиваете конфигуратор в процессе работы (приема данных) один конец сокета аварийно отваливается - отсюда и SIGPIPE. В следующей версии конфигуратора параллельные запросы буду блокироваться программно (на уровне мьютексов или еще как - пока не решено). Возможно, NETTRANSACT станет синглтоном.
vovksextra Posted December 11, 2007 at 06:48 PM Posted December 11, 2007 at 06:48 PM Во время непосредственного обновления достаточно сделать кнопки для работы с пользователем (Новый,Редактировать,Удалить) просто неактивными. И при открытии окна редактирования - таймер для автообновления - отключать Что-то типа того.
napTu Posted December 11, 2007 at 07:00 PM Posted December 11, 2007 at 07:00 PM Дык автообновлением мы уже давно не пользуемся, еще как пользователей под сотню стало. А теперь ведь в последней версии конфигуратора обновление запускается после вызова и закрытия окна редактирования юзера. При этом не делается разницы ОК нажат или ОТМЕНА. Давно меня мучает вопрос: зачем перегружать базу пользователей, если при редактировании пользователя и так известны параметры которые обновились - просто внести их в текущее отображение базы в конфигураторе и все дела. Правда при этом отпадает многопользовательский режим, но ведь это можно сделать и опционально.
napTu Posted December 12, 2007 at 12:57 PM Posted December 12, 2007 at 12:57 PM сил больше нет. скажите где поменять в сырцах конфигуратора, чтобы он не обновлялся после закрывания окна редактирования пользователя???
madf Posted December 12, 2007 at 01:34 PM Posted December 12, 2007 at 01:34 PM Думаю, будет достаточно закоментировать REFRESH_ENABLER в соответствующих методах.
napTu Posted December 12, 2007 at 02:11 PM Posted December 12, 2007 at 02:11 PM я пока закоментирую строчку WriteServLog("Broken pipe!"); в main.cpp в каждом посте повторяю что мне нужно выключить не автообновление по таймеру, а автообновление после закрытия окна редактирования пользователя. оно само по себе запускается. refresh_enaber в свою очередь есть только в mainunit.cpp и запускает обновление по таймеру.
madf Posted December 12, 2007 at 05:20 PM Posted December 12, 2007 at 05:20 PM Так, стоп. Проверил. На версии 1.88.9. Никто ничего не обновляет после изменения пользователя. Пока не нажмешь "обновить". Что я делаю не так? Может, у Вас другая версия?
vovksextra Posted December 12, 2007 at 10:04 PM Posted December 12, 2007 at 10:04 PM Жми обновить список затем очень быстро пока в статусе бегает прогресс бар открывай любого юзера и добавь ему любую сумму
madf Posted December 12, 2007 at 10:49 PM Posted December 12, 2007 at 10:49 PM Нет, это понятно. Тут даже, в принципе, есть намеки на то, откуда берется SIGPIPE. Но товарищ говорит о том, что список обновляется после каждого изменения пользователя. А этого не может быть.
vovksextra Posted December 12, 2007 at 11:27 PM Posted December 12, 2007 at 11:27 PM Да действительно по коду такого не может быть, может у него просто совпадение.
napTu Posted December 13, 2007 at 12:16 PM Posted December 13, 2007 at 12:16 PM Да, извиняюсь. Оказалось я пользовался всё это время модифицированной версией конфигуратора 1.88.9, скачанной с http://v-lan.ru/projects/stargazer-2.4. В стандартной версии, к моему счастью, такого не происходит.
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