madf Опубліковано: December 11, 2007 at 18:04 Опубліковано: December 11, 2007 at 18:04 Когда Вы прибиваете конфигуратор в процессе работы (приема данных) один конец сокета аварийно отваливается - отсюда и SIGPIPE. В следующей версии конфигуратора параллельные запросы буду блокироваться программно (на уровне мьютексов или еще как - пока не решено). Возможно, NETTRANSACT станет синглтоном.
vovksextra Опубліковано: December 11, 2007 at 18:48 Опубліковано: December 11, 2007 at 18:48 Во время непосредственного обновления достаточно сделать кнопки для работы с пользователем (Новый,Редактировать,Удалить) просто неактивными. И при открытии окна редактирования - таймер для автообновления - отключать Что-то типа того.
napTu Опубліковано: December 11, 2007 at 19:00 Опубліковано: December 11, 2007 at 19:00 Дык автообновлением мы уже давно не пользуемся, еще как пользователей под сотню стало. А теперь ведь в последней версии конфигуратора обновление запускается после вызова и закрытия окна редактирования юзера. При этом не делается разницы ОК нажат или ОТМЕНА. Давно меня мучает вопрос: зачем перегружать базу пользователей, если при редактировании пользователя и так известны параметры которые обновились - просто внести их в текущее отображение базы в конфигураторе и все дела. Правда при этом отпадает многопользовательский режим, но ведь это можно сделать и опционально.
napTu Опубліковано: December 12, 2007 at 12:57 Опубліковано: December 12, 2007 at 12:57 сил больше нет. скажите где поменять в сырцах конфигуратора, чтобы он не обновлялся после закрывания окна редактирования пользователя???
madf Опубліковано: December 12, 2007 at 13:34 Опубліковано: December 12, 2007 at 13:34 Думаю, будет достаточно закоментировать REFRESH_ENABLER в соответствующих методах.
napTu Опубліковано: December 12, 2007 at 14:11 Опубліковано: December 12, 2007 at 14:11 я пока закоментирую строчку WriteServLog("Broken pipe!"); в main.cpp в каждом посте повторяю что мне нужно выключить не автообновление по таймеру, а автообновление после закрытия окна редактирования пользователя. оно само по себе запускается. refresh_enaber в свою очередь есть только в mainunit.cpp и запускает обновление по таймеру.
madf Опубліковано: December 12, 2007 at 17:20 Опубліковано: December 12, 2007 at 17:20 Так, стоп. Проверил. На версии 1.88.9. Никто ничего не обновляет после изменения пользователя. Пока не нажмешь "обновить". Что я делаю не так? Может, у Вас другая версия?
vovksextra Опубліковано: December 12, 2007 at 22:04 Опубліковано: December 12, 2007 at 22:04 Жми обновить список затем очень быстро пока в статусе бегает прогресс бар открывай любого юзера и добавь ему любую сумму
madf Опубліковано: December 12, 2007 at 22:49 Опубліковано: December 12, 2007 at 22:49 Нет, это понятно. Тут даже, в принципе, есть намеки на то, откуда берется SIGPIPE. Но товарищ говорит о том, что список обновляется после каждого изменения пользователя. А этого не может быть.
vovksextra Опубліковано: December 12, 2007 at 23:27 Опубліковано: December 12, 2007 at 23:27 Да действительно по коду такого не может быть, может у него просто совпадение.
napTu Опубліковано: December 13, 2007 at 12:16 Опубліковано: December 13, 2007 at 12:16 Да, извиняюсь. Оказалось я пользовался всё это время модифицированной версией конфигуратора 1.88.9, скачанной с http://v-lan.ru/projects/stargazer-2.4. В стандартной версии, к моему счастью, такого не происходит.
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас